workerman a l'erreur suivante :
400 Bad Request
Sec-WebSocket-Key introuvable.
Ceci est un Service WebSocket et n'est pas accessible via HTTP.
Raison de l'erreur
Cette erreur indique que vous avez utilisé le protocole http pour accéder au protocole websocket service . Recommandation : tutoriel Workerman
Les développeurs doivent noter que le protocole de couche application utilisé par le client doit être le même que le protocole de couche application du serveur, c'est-à-dire quel que soit le protocole utilisé par le serveur, le client utilise le protocole.
Si le protocole ne correspond pas, il y aura des situations comme celle-ci où la communication sera refusée ou même une erreur se produira.
C'est comme accéder au port ip:3306 de la base de données dans la barre d'adresse du navigateur. Vous ne vous attendez pas à ce que la base de données vous renvoie vraiment des informations utiles, n'est-ce pas ?
Approche correcte
L'approche correcte devrait être d'établir un lien de protocole websocket et d'utiliser le protocole websocket pour communiquer avec le service de protocole websocket du travailleur. Si le client est un navigateur, vous pouvez utiliser js pour établir un lien websocket. Le code est similaire à ceci :
// 假设服务端ip为127.0.0.1,端口为2346 ws = new WebSocket("ws://127.0.0.1:2346"); ws.onopen = function() { alert("连接成功"); ws.send('tom'); alert("给服务端发送一个字符串:tom"); }; ws.onmessage = function(e) { alert("收到服务端的消息:" + e.data); };
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!