Funktionsname: Socket_accept ()
Anwendbare Version: Php 4> = 4.1.0, Php 5, Php 7
Verwendung: Die Funktion Socket_accept () wird verwendet, um eine Verbindungsanforderung zu akzeptieren und eine neue Socket -Ressource für die Kommunikation mit dem Kunden zurückzugeben.
Syntax: Ressource Socket_accept (Ressource $ Socket)
Parameter:
Rückgabewert: Gibt eine neue Socket -Ressource zurück, wenn sie erfolgreich ist, für die Kommunikation mit dem Kunden. Gibt beim Fehler falsche zurück, und der Fehlercode kann über Socket_Last_error () erhalten werden.
Beispiel:
// 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定套接字到IP 地址和端口socket_bind($socket, '127.0.0.1', 8080); // 开始监听连接socket_listen($socket); // 接受客户端连接请求$clientSocket = socket_accept($socket); // 与客户端进行通信while (true) { // 从客户端接收数据$data = socket_read($clientSocket, 1024); // 处理数据// 向客户端发送响应socket_write($clientSocket, "Hello, client!"); // 结束通信if ($data === 'quit') { socket_close($clientSocket); break; } } // 关闭套接字socket_close($socket);
Im obigen Beispiel erstellen wir einen Socket und binden an den lokalen Port 8080. Anschließend hören wir die Verbindung über die Funktion von Socket_Listen () an. Wenn es eine Client -Verbindungsanforderung gibt, verwenden wir Socket_accept (), um die Verbindung zu akzeptieren und eine neue Socket -Ressource $ clientocket zurückzugeben. Dann geben wir eine Schleife ein, empfangen Daten vom Client über Socket_read () und verarbeiten die Daten und senden eine Antwort an den Client über Socket_Write (). Wenn die empfangenen Daten "beenden" sind, wird die Verbindung mit dem Kunden geschlossen und die Kommunikation beendet. Schließlich verwenden wir Socket_Close (), um den Socket zu schließen.