Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

stream_socket_server

Stream Funktionen

    Befehl:
resource stream_socket_server ( string $local_socket [, int &$errno [, string &$errstr [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context ]]]] )


    Parameter-Liste:
NameBeschreibung
local_socketDie Art der socket entsteht durch den Transport bestimmt angegeben mit Standard-URL-Formatierung: transport://target.

Für den Internet-Domain-Sockets (AF_INET) wie TCP und UDP, target Teil des remote_socket-Parameter sollte aus einem Hostnamen oder die IP-Adresse, gefolgt von einem Doppelpunkt und eine Port-Nummer bestehen. Für Unix-Domain-Sockets, die target Teil sollte der Socket-Datei auf dem Dateisystem verweisen.

Abhängig von der Umgebung kann Unix-Domain-Sockets nicht verfügbar. Eine Liste der verfügbaren Transporte können mit stream_get_transports() abgerufen werden.
errnoWenn die optionalen errno und errstr Argumente vorhanden sind, werden sie in der eingestellt, um den aktuellen System-Fehler, die im System-Level-socket(), bind(), und listen() Anrufe aufgetreten ist. Wenn der Wert in errno zurück ist 0 und die Funktion FALSE zurück, ist es ein Hinweis, dass der Fehler vor der aufgetreten bind () Anruf. Dies ist wahrscheinlich aufgrund eines Problems der Initialisierung des Sockets. Beachten Sie, dass die errno und errstr Argumente werden immer weitergegeben werden Referenz.
errstrSiehe errno Beschreibung.
flags 

    Beschreibung:
Erstellt einen Stream oder Datagramm-Socket auf der specified local_socket.

Diese Funktion erzeugt nur eine Buchse, die Annahme von Verbindungen verwenden stream_socket_accept() zu beginnen.


    Aktiv in Version:
(PHP 5, PHP 7)

    Hinweis:
Hinweis:

Die meisten Systeme erfordern Root-Zugriff auf einen Server-Socket auf einem Port unter 1024 erstellen.

Wenn Sie eine numerische IPv6-Adresse angeben, z.B. fe80::1, müssen Sie die IP in eckige Klammern schreiben, z.B. tcp://[fe80::1]:80.


    Siehe auch:
Internet-oder Unix-Domain-Socket-Verbindung
 
Set Sperrung / Non-Blocking-Modus auf einem Stream
 
Timeout-Zeit auf einem Stream
 
•  fgets()
Liest eine Zeile von der Position des Dateizeigers
 
Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
 
Schreibt Binärdaten in eine Datei
 
Schliesst einen offenen Dateizeiger
 
•  feof()
Prüft, ob ein Dateizeiger am Ende der Datei steht
 

stream_socket_sendto() - Beispiel:


Eingabe:
<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
  echo "$errstr ($errno)<br />\n";
} else {
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
    fclose($conn);
  }
  fclose($socket);
}
?>

stream_socket_sendto() - Beispiel 2:


Eingabe:
<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);
?>

Stream Funktionen