Maison  >  Article  >  cadre php  >  Swoole prend-il en charge plusieurs ports et différents protocoles ?

Swoole prend-il en charge plusieurs ports et différents protocoles ?

(*-*)浩
(*-*)浩original
2019-12-06 14:14:482439parcourir

Swoole prend-il en charge plusieurs ports et différents protocoles ?

Swoole-1.8.0 ajoute la prise en charge des protocoles mixtes multi-ports. Le serveur peut écouter plusieurs ports, et chaque port peut être défini avec différentes méthodes de traitement de protocole (définies) et fonctions de rappel (activées). Le chiffrement du transport SSL/TLS peut également être activé uniquement pour des ports spécifiques.                                                                                                                                                                                                              est utilisée. Le type d'objet renvoyé par le port d'écoute est swoole_server_port

<.> L'objet swoole_server_port du port d'écoute, vous pouvez appeler les méthodes set et on. La méthode d'utilisation est exactement la même que swoole_server

Le port d'écoute ne peut définir que quelques options spécifiques, et ne peut définir que les options spécifiques. fonctions de rappel d'événements liées à l'envoi et à la réception de données

Les fonctions de rappel des différents ports d'écoute sont toujours les mêmes Worker Exécuté dans l'espace de processus

Le serveur principal est WebSocket ou le protocole Http Le nouveau surveillé. Le port TCP héritera par défaut des paramètres de protocole du serveur principal. La méthode set doit être appelée séparément pour définir un nouveau protocole afin d'activer le nouveau protocole

Écouter le nouveau port

$port1 = $server->listen("127.0.0.1", 9501, SWOOLE_SOCK_TCP);
$port2 = $server->listen("127.0.0.1", 9502, SWOOLE_SOCK_UDP);
$port3 = $server->listen("127.0.0.1", 9503, SWOOLE_SOCK_TCP | SWOOLE_SSL);

Définir le protocole réseau

$port1->set([
    &#39;open_length_check&#39; => true,
    &#39;package_length_type&#39; => &#39;N&#39;,
    &#39;package_length_offset&#39; => 0,
    &#39;package_max_length&#39; => 800000,]
);
$port3->set([
    &#39;open_eof_split&#39; => true,
    &#39;package_eof&#39; => "\r\n",
    &#39;ssl_cert_file&#39; => &#39;ssl.cert&#39;,
    &#39;ssl_key_file&#39; => &#39;ssl.key&#39;,]
);

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
Article précédent:Où est utilisé le swoole ?Article suivant:Où est utilisé le swoole ?