Funktionsname: stream_socket_shutdown ()
Funktion Beschreibung: Stream_Socket_Shutdown () -Funktion schließt Socket -Verbindungen, die mit Stream_Socket_Client () oder Stream_Socket_Server () erstellt wurden.
Anwendbare Version: Php 4> = 4.0.7, Php 5, Php 7
Syntax: bool stream_socket_shutdown (Ressource $ stream, int $ wie)
Parameter:
Rückgabewert: Return true on Success und falsch beim Scheitern.
Beispiel:
// 创建套接字连接$socket = stream_socket_client('tcp://www.example.com:80', $errno, $errstr, 30); // 发送HTTP请求$request = "GET / HTTP/1.1\r\n"; $request .= "Host: www.example.com\r\n"; $request .= "Connection: close\r\n\r\n"; fwrite($socket, $request); // 关闭写入连接,继续读取服务器响应stream_socket_shutdown($socket, STREAM_SHUT_WR); // 读取服务器响应$response = ''; while (!feof($socket)) { $response .= fgets($socket); } // 关闭读取连接stream_socket_shutdown($socket, STREAM_SHUT_RD); // 关闭套接字连接fclose($socket);
Das obige Beispiel zeigt, wie die Funktion stream_socket_shutdown () verwendet wird, um die Schreibverbindung nach dem Senden einer HTTP -Anforderung zu schließen und die Antwort des Servers weiter zu lesen. Verwenden Sie zunächst die Funktion von Stream_Socket_Client (), um eine Socket -Verbindung zu erstellen, dann eine HTTP -Anforderung zu senden und die Schreibverbindung zu schließen. Verwenden Sie als Nächstes die Funktion fGets (), um die Serverantwort zu durchlaufen, bis sie endet. Schließlich schließen Sie die Leseverbindung und schließen Sie die Socket -Verbindung.
Beachten Sie, dass die Reihenfolge der Schließung von Verbindungen im Beispiel darin besteht, zuerst die Schreibverbindung zu schließen und dann die Leseverbindung zu schließen. Dies liegt daran, dass der Client in einer HTTP -Anfrage zuerst die Anforderung sendet und dann darauf wartet, dass der Server antwortet. Daher schließen wir zuerst die Schreibverbindung, um den Server darüber zu informieren, dass die Anfrage gesendet wurde, und lesen dann weiterhin die Antwort des Servers.