Aktueller Standort: Startseite> Funktionskategorien> stream_socket_shutdown

stream_socket_shutdown

Die vollständige Duplex -Verbindung schließen
Name:stream_socket_shutdown
Kategorie:Strom
Programmiersprache:php
Kurzbeschreibung:Schließen Sie die mit Stream_Socket_Client () oder stream_socket_server () erstellte Socket -Verbindung mit Stream_Socket_Client ().

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:

  • $ stream: Erforderlich, eine gültige Socket -Ressource, die normalerweise mit stream_socket_client () oder stream_socket_server () erstellt wurde.
  • $ Wie: Erforderlich, eine Ganzzahl, die angibt, wie die Verbindung schließt. Optionale Werte sind:
    • Stream_shut_rd: close lesen
    • Stream_shut_wr: close write
    • Stream_shut_rdwr: deaktivieren und gleichzeitig schreiben und schreiben

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.

Ähnliche Funktionen
Beliebte Artikel