Maison  >  Article  >  cadre php  >  Que signifie swoole fd ?

Que signifie swoole fd ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-12-12 10:37:203294parcourir

Que signifie swoole fd ?

fd est le descripteur de fichier de la connexion TCP, qui est l'identifiant unique du client dans swoole_server.

fd est réutilisé. Lorsque la connexion est fermée, fd sera réutilisé par la connexion nouvellement entrée. La connexion TCP fd en cours de maintenance ne sera pas réutilisée.

L'appel de la fonction swoole_server->send/swoole_server->close nécessite de passer 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.

Dans la version 1.7.10 ou supérieure, fd n'est plus un descripteur de fichier. 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); 
}

Pourquoi $fd utilise-t-il le remodelage

$fd utilise 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/Tâche. Si vous utilisez un objet, vous devez sérialiser/désérialiser. Ajoute une surcharge de performances supplémentaire. Si $fd est un 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. Par exemple :

$connection->send($data);
$connection->close();

Le site Web chinois PHP propose un grand nombre de Tutoriels d'introduction à Swoole gratuits, tout le monde est invité à apprendre !

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