Position actuelle: Accueil> Catégories de fonctions> stream_socket_client

stream_socket_client

Ouvrez une connexion Internet ou Unix Domain Sockain
Nom:stream_socket_client
Catégorie:Flux
Langage de programmation:php
Description en une ligne:Ouvrez un réseau ou une connexion de sockain de domaine UNIX

Nom de la fonction: Stream_Socket_Client ()

Version applicable: PHP 4> = 4.3.0, PHP 5, PHP 7

Fonction Description: La fonction Stream_Socket_Client () ouvre une connexion de socket de domaine réseau ou UNIX. Il fournit un moyen facile de créer une connexion qui communique avec un serveur distant ou une prise locale.

Syntaxe: ressource stream_socket_client (String $ Remote_socket [, int & $ errno [, string & $ errstr [, float $ timeout = ini_get ("default_socket_timeout") [, int $ flags = stream_client_connect [, ressource $ context]]]]))

paramètre:

  • $ Remote_socket: l'adresse de socket de destination à connecter. Pour les connexions TCP / IP, le format est "tcp: // hostname: port". Pour les sockets de domaine Unix, le format est "Unix: /// path / to / socket".
  • $ errno (facultatif): une variable de référence qui stocke le numéro d'erreur qui s'est produit. Si la connexion réussit, ce sera 0.
  • $ errstr (facultatif): une variable de référence qui stocke le message d'erreur qui se produit. Si la connexion réussit, ce sera une chaîne vide.
  • $ Timeout (facultatif): délai de connexion, en secondes. La valeur par défaut est "default_socket_timeout" dans php.ini.
  • $ Flags (facultatif): Indicateur de connexion, qui peut être stream_client_connect (par défaut) ou Stream_Client_async_connect. Lorsque vous utilisez Stream_Client_async_Connect, les connexions en mode non bloquant sont activées.
  • $ context (facultatif): une option de contexte pour un type de ressource. Peut être utilisé pour transmettre des options de configuration et des paramètres.

Valeur de retour: si la connexion est réussie, une ressource de socket ouverte est renvoyée. Si la connexion échoue, false est renvoyé.

Exemple:

 // 连接到远程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)"; }

L'exemple ci-dessus montre comment utiliser la fonction Stream_Socket_Client () pour se connecter à un serveur TCP / IP distant et une prise de domaine UNIX locale et des données d'envoi / recevoir. Veuillez modifier l'adresse de la prise cible, les données envoyées et le traitement de la logique de réponse en fonction des conditions réelles.

Fonctions similaires
Articles populaires