Aktueller Standort: Startseite> Funktionskategorien> stream_socket_client

stream_socket_client

Öffnen Sie eine Internet- oder Unix -Domain -Socket -Verbindung
Name:stream_socket_client
Kategorie:Strom
Programmiersprache:php
Kurzbeschreibung:Öffnen Sie eine Netzwerk- oder Unix -Domänen -Socket -Verbindung

Funktionsname: stream_socket_client ()

Anwendbare Version: Php 4> = 4.3.0, Php 5, Php 7

Funktion Beschreibung: Die Funktion Stream_socket_client () öffnet eine Netzwerk- oder Unix -Domänen -Socket -Verbindung. Es bietet eine einfache Möglichkeit, eine Verbindung zu erstellen, die mit einem Remote -Server oder einem lokalen Socket kommuniziert.

Syntax: resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )

Parameter:

  • $ remote_socket: Die zu verbundene Ziel -Socket -Adresse. Für TCP/IP -Verbindungen lautet das Format "tcp: // hostname: port". Für Unix -Domain -Sockets lautet das Format "Unix: /// path/to/Socket".
  • $ errno (optional): Eine Referenzvariable, die die aufgetretene Fehlernummer speichert. Wenn die Verbindung erfolgreich ist, wird sie 0 sein.
  • $ errstr (optional): Eine Referenzvariable, die die auftretende Fehlermeldung speichert. Wenn die Verbindung erfolgreich ist, wird sie eine leere Zeichenfolge sein.
  • $ timeout (optional): Verbindungszeitlimit in Sekunden. Der Standardwert ist "default_socket_timeout" in php.ini.
  • $ flags (optional): Verbindungsflag, das stream_client_connect (Standard) oder Stream_Client_async_connect sein kann. Bei Verwendung von stream_client_async_connect sind nicht blockierende Modusverbindungen aktiviert.
  • $ context (optional): Eine Kontextoption für einen Ressourcentyp. Kann verwendet werden, um Konfigurationsoptionen und Parameter zu übergeben.

Rückgabewert: Wenn die Verbindung erfolgreich ist, wird eine offene Socket -Ressource zurückgegeben. Wenn die Verbindung fehlschlägt, wird False zurückgegeben.

Beispiel:

 // 连接到远程TCP/IP服务器$socket = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30); if ($socket) { // 发送HTTP请求fwrite($socket, "GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n"); // 读取服务器响应while (!feof($socket)) { echo fgets($socket, 4096); } // 关闭连接fclose($socket); } else { echo "连接失败:$errstr ($errno)"; } // 连接到本地Unix域套接字$socket = stream_socket_client("unix:///var/run/socket.sock", $errno, $errstr, 30); if ($socket) { // 发送自定义协议数据fwrite($socket, "Hello, server!"); // 读取服务器响应$response = fread($socket, 4096); // 处理服务器响应echo $response; // 关闭连接fclose($socket); } else { echo "连接失败:$errstr ($errno)"; }

Das obige Beispiel zeigt, wie die Funktion stream_socket_client () verwendet wird, um eine Verbindung zu einem Remote -TCP/IP -Server und einem lokalen UNIX -Domänen -Socket herzustellen und Daten zu senden/zu empfangen. Bitte ändern Sie die Ziel -Socket -Adresse, die gesendeten Daten und die Verarbeitungsantwortlogik gemäß den tatsächlichen Bedingungen.

Ähnliche Funktionen
Beliebte Artikel