Maison  >  Article  >  cadre php  >  A quoi sert le client swoole ?

A quoi sert le client swoole ?

(*-*)浩
(*-*)浩original
2019-12-02 13:43:563252parcourir

A quoi sert le client swoole ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn