Socket context options

Från Wiki.linux.se
Version från den 31 augusti 2024 kl. 10.55 av Admin (diskussion | bidrag) (→‎Sidslut)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

Socketkontextalternativ

Socketkontextalternativ — Lista över socketkontextalternativ

Beskrivning

Socketkontextalternativ är tillgängliga för alla wrappers som arbetar över sockets, som tcp, http och ftp.

Alternativ

bindto
Används för att specificera IP-adressen (antingen IPv4 eller IPv6) och/eller portnumret som PHP kommer att använda för att komma åt nätverket. Syntaxen är ip:port för IPv4-adresser, och [ip]:port för IPv6-adresser. Att sätta IP-adressen eller porten till 0 låter systemet välja IP och/eller port.

Observera: Eftersom FTP skapar två socketanslutningar under normal drift, kan portnumret inte specificeras med detta alternativ.

backlog
Används för att begränsa antalet utestående anslutningar i socketens lyssningskö.

Observera: Detta gäller endast för stream_socket_server().

ipv6_v6only
Åsidosätter operativsystemets standardinställning angående mappning av IPv4 till IPv6.

Observera: Detta är särskilt viktigt när du försöker lyssna på IPv4-adresser separat medan det finns en bindning på [::]. Detta gäller endast för stream_socket_server().

so_reuseport
Tillåter flera bindningar till samma ip:port-par, även från separata processer.

Observera: Detta gäller endast för stream_socket_server().

so_broadcast
Möjliggör att skicka och ta emot data till/från broadcast-adresser.

Observera: Detta gäller endast för stream_socket_server().

tcp_nodelay
Att ställa in detta alternativ till true kommer att sätta SOL_TCP,NO_DELAY=1 på ett lämpligt sätt, vilket därmed inaktiverar TCP Nagle-algoritmen.

Ändringslogg

Version Beskrivning
7.1.0 Lade till tcp_nodelay.
7.0.1 Lade till ipv6_v6only.

Exempel

Exempel #1 Grundläggande användning av bindto

<?php
// anslut till internet med IP-adressen '192.168.0.100'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);

// anslut till internet med IP-adressen '192.168.0.100' och porten '7000'
$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:7000',
    ),
);

// anslut till internet med IPv6-adressen '2001:db8::1' och porten '7000'
$opts = array(
    'socket' => array(
        'bindto' => '[2001:db8::1]:7000',
    ),
);

// anslut till internet med porten '7000'
$opts = array(
    'socket' => array(
        'bindto' => '0:7000',
    ),
);

// skapa kontexten...
$context = stream_context_create($opts);

// ...och använd den för att hämta data
echo file_get_contents('http://www.example.com', false, $context);

?>

Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/context.http.php
PHP
Språkreferens
Kontextalternativ och parametrar


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.