from_id est de quel thread de réacteur il provient
fd est le descripteur de fichier de la connexion TCP, qui est l'identifiant unique du client dans swoole_server Apprentissage recommandé : tutoriel vidéo swoole )
fd est réutilisé Lorsque la connexion est fermée, fd sera réutilisé par la nouvelle connexion entrante
La connexion TCP fd. en cours de maintenance Ne sera pas réutilisé
L'appel de la fonction swoole_server->send/swoole_server->close nécessite de transmettre le paramètre $fd pour être traité correctement.
Si vous devez envoyer des diffusions dans votre entreprise, vous devez utiliser apc/redis/memcache/swoole_table pour enregistrer la valeur de fd.
Les versions 1.6.0 et supérieures ne nécessitent plus le paramètre from_id. swoole lui-même fournit ConnectionList pour interroger tous les fds actuels et from_id correspondant
Pour les versions 1.7.10 et supérieures, fd est le descripteur de fichier n'est plus requis. fd est un nombre auto-croissant, allant de 1 à 16 millions
Une fois que fd dépasse 16 millions, il sera automatiquement réutilisé à partir de 1
function my_onReceive($serv, $fd, $from_id, $data) { //向Connection发送数据 $serv->send($fd, 'Swoole: '.$data); //关闭Connection $serv->close($fd); }
$ fd Pourquoi utiliser un entier
$fd Utiliser un entier au lieu d'un objet ? La raison principale est que swoole est un modèle multi-processus. Vous devrez peut-être accéder à une connexion client à tout moment dans le processus Worker/. Processus de tâche. Si vous utilisez Object, vous devez alors sérialiser/désérialiser. Ajoute une surcharge de performances supplémentaire. Si $fd est un nombre entier, il peut être utilisé pour le stockage et le transfert direct.
Dans la couche PHP, les connexions clients peuvent également être encapsulées dans des objets. L'avantage de l'orientation objet est qu'elle est plus lisible et que l'opération de connexion peut être encapsulée dans des méthodes. Tel que
$connection->send($data); $connection->close();
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!