Aktueller Standort: Startseite> Funktionskategorien> stream_socket_accept

stream_socket_accept

Akzeptiert Socket -Verbindungen, die von Stream_Socket_Server () erstellt wurden ()
Name:stream_socket_accept
Kategorie:Strom
Programmiersprache:php
Kurzbeschreibung:Akzeptiert eine Socket -Verbindung, die über die Funktion stream_socket_server () erstellt wurde, und gibt eine neue Socket -Verbindung für die Kommunikation mit dem Client zurück

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:

  • $ server_socket: Erforderlich. Socket -Ressourcen, die über die Funktion von Stream_Socket_Server () erstellt wurden.
  • $ Timeout: Optional. Gibt die Zeitlimitzeit an, die auf die Clientverbindung wartet. In Sekundenschnelle ist der Standardwert ini_get ("default_socket_timeout"), dh die Standardzeitüberschreitungszeit in php.ini.
  • $ PEERNAME: Optional. Eine String -Variable, mit der die IP -Adresse und die Portnummer des Clients gespeichert wird.

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.

Ähnliche Funktionen
Beliebte Artikel