Funktionsname: Stream_socket_accept ()
Funktion anwendbarer Version: Php 4> = 4.1.0, Php 5, Php 7
Funktion Beschreibung: Die Funktion stream_socket_accept () akzeptiert eine von der Funktion stream_socket_server () erstellte Socket -Verbindung und gibt eine neue Socket -Verbindung für die Kommunikation mit dem Client zurück.
Syntax: Ressourcenstream_Socket_accept (Ressource $ server_socket [, float $ timeout = ini_get ("default_socket_timeout") [, String & $ Peername]])
Parameter:
Rückgabewert: Wenn eine Kundenverbindung erfolgreich akzeptiert wird, wird eine neue Socket -Ressource zurückgegeben, um mit dem Kunden zu kommunizieren. Wenn ein Fehler auftritt, wird False zurückgegeben.
Beispiel: <? Php // Socket Server $ server = stream_socket_server ('tcp: //127.0.0.1: 8080', $ errno, $ errstr);
if (! $ server) {echo "kann Socket Server nicht erstellen: $ errstr ($ errno)"; } else {echo "Warten auf die Client -Verbindung ... \ n";
// 接受客户端连接$client = stream_socket_accept($server); if (!$client) { echo "无法接受客户端连接"; } else { // 与客户端通信$message = "欢迎连接到服务器"; fwrite($client, $message); // 读取客户端发送的数据$data = fread($client, 1024); echo "接收到客户端数据:$data"; // 关闭客户端连接fclose($client); } // 关闭服务器fclose($server);
}?> Verwenden Sie im obigen Beispiel zuerst die Funktion von Stream_Socket_Server (), um einen Socket -Server zu erstellen und an den lokalen Port 8080 zu binden. Verwenden Sie dann die Funktion von Stream_Socket_accept (), um zu warten, bis der Client eine neue Socket -Ressource für die Kommunikation mit dem Client verbindet. Verwenden Sie während der Kommunikation mit dem Client die Funktion fWrite (), um eine Begrüßungsnachricht an den Client zu senden, und verwenden Sie die Funktion Fread (), um die vom Client gesendeten Daten zu lesen. Verwenden Sie schließlich die Funktion fcLose (), um die Clientverbindung und die Serververbindung zu schließen.