PHP utilise couramment des sockets pour créer des connexions TCP et CURL pour créer des connexions HTTP Afin de simplifier l'opération, Swoole fournit la classe Client pour implémenter des fonctions client et ajoute des fonctions non asynchrones. -mode de blocage, permettant aux utilisateurs d'utiliser la boucle d'événements côté client. (Apprentissage recommandé : tutoriel vidéo swoole )
En tant que client, Swoole Client peut être utilisé dans un environnement FPM ou Apache, mais le mode asynchrone asynchrone n'est pas autorisé, utilisez uniquement du mode non synchrone -mode bloquant, le mode asynchrone non bloquant n'est disponible qu'en mode CLI.
Le client fournit le code d'encapsulation du client socket TCP/UDP. Seul un nouveau SwooleClient est nécessaire pour l'utiliser.
Quels sont les avantages du client socket de Swoole par rapport aux fonctions de la famille de flux fournies par PHP ?
La fonction de flux présente des pièges et des bugs liés au délai d'attente. Si elle n'est pas gérée correctement, le serveur sera bloqué pendant une longue période.
Stream et fread ont une longueur limite de 8 192 et ne peuvent pas prendre en charge les gros paquets UDP.
Le client swoole_client prend en charge waitall. Lorsque la longueur du paquet est connue, elle peut être récupérée immédiatement sans boucle.
swoole_client prend en charge la connexion UDP, ce qui résout le problème de la chaîne de paquets UDP
swoole_client est du pur code C
swoole_client prend en charge les rappels asynchrones non bloquants
Constructeur de méthode Constructor
La fonction Client de Swoole est encapsulée en tant que classe swoole_client, et une instance client peut être créée via le nouveau swoole_client.
Prototype
swoole_client->__construct( int $sock_type, int $is_async = SWOOLEL_SOCK_SYNC, string $key);
Paramètre
Paramètre 1 : int $sock_type
$sock_type représente le socket type , vous pouvez utiliser la macro fournie par swoole pour spécifier le type.
SWOOLE_TCP 创建TCP Socket SWOOLE_TCP6 创建IPv6 TCP Socket SWOOLE_UDP 创建UDP Socket SWOOLE_UDP6 创建IPv6 UDP Socket SWOOLE_SSL 开启SSL加密 SWOOLE_KEEP 开启连接复用
SWOOLE_SSL et SWOOLE_KEEP ne peuvent pas être utilisés seuls et doivent fonctionner ensemble avec les quatre premières options.
// 创建并开启SSL加密的TCP客户端 $client = new swoole_client(SWOOLE_TCP | SWOOLE_SSL);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!