Étant donné que TCP est basé sur des flux, les données de requête envoyées par le client circulent dans le serveur comme de l'eau. Une fois que le serveur a détecté l'arrivée des données, il doit vérifier si les données sont complètes. Parce que seule une partie des données d'une requête peut atteindre le serveur, ou même plusieurs requêtes peuvent atteindre le serveur ensemble.
Comment déterminer si toutes les demandes sont arrivées ou séparer les demandes de plusieurs demandes connectées nécessite un ensemble de protocoles de communication.
Pourquoi devons-nous conclure un accord dans WorkerMan ?
Le développement PHP traditionnel est basé sur le Web, essentiellement le protocole HTTP. L'analyse et le traitement du protocole HTTP sont uniquement effectués par le serveur Web, les développeurs ne se soucient donc pas du protocole. . (Apprentissage recommandé :
Protocoles déjà pris en charge par WorkerMan
WorkerMan prend actuellement en charge HTTP, websocket, le protocole texte (voir la description en annexe), le protocole frame (voir la description en annexe), le protocole ws (voir description en annexe), vous pouvez l'utiliser directement lorsque vous avez besoin de communiquer sur la base de ces protocoles. Pour l'utiliser, précisez le protocole lors de l'initialisation du Worker, tel queuse Workerman\Worker; // websocket://0.0.0.0:2345 表明用websocket协议监听2345端口 $websocket_worker = new Worker('websocket://0.0.0.0:2345'); // text协议 $text_worker = new Worker('text://0.0.0.0:2346'); // frame协议 $frame_worker = new Worker('frame://0.0.0.0:2347'); // tcp Worker,直接基于socket传输,不使用任何应用层协议 $tcp_worker = new Worker('tcp://0.0.0.0:2348'); // udp Worker,不使用任何应用层协议 $udp_worker = new Worker('udp://0.0.0.0:2349'); // unix domain Worker,不使用任何应用层协议 $unix_worker = new Worker('unix:///tmp/wm.sock');
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!