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:
Beschreibung | |
---|---|
Die 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() span> abgerufen werden. | |
Wenn 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 code> zurück, ist es ein Hinweis, dass der Fehler vor der aufgetreten bind () em> Anruf. Dies ist wahrscheinlich aufgrund eines Problems der Initialisierung des Sockets. Beachten Sie, dass die errno und errstr Argumente werden immer weitergegeben werden Referenz. | |
Siehe errno Beschreibung. | |
Beschreibung:
Erstellt einen Stream oder Datagramm-Socket auf der
Diese Funktion erzeugt nur eine Buchse, die Annahme von Verbindungen verwenden stream_socket_accept() zu beginnen.
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
• fgetss()
Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
• fwrite()
Schreibt Binärdaten in eine Datei
• fclose()
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