workerman涌现毛病以下:
400 Bad Request
Sec-WebSocket-Key not found.
This is a WebSocket service and can not be accessed via HTTP.
毛病缘由
涌现这个毛病申明你用http协定去接见了websocket协定的效劳。引荐:workerman教程
开发者要注意,客户端运用的应用层协定要与效劳端的应用层协定雷同,也就是效劳端是什么协定,客户端就运用什么协定。
假如协定不对应就会涌现相似这类谢绝通信以至失足的状况。
这个原理就像在浏览器地址栏里接见数据库的ip:3306端口一样,你不会希望数据库真的会给你返回什么有效的信息吧?
准确做法
准确的做法应该是竖立一个websocket协定的链接,应用websocket协定与workerman的websocket协定效劳通信。 假如客户端是浏览器,能够应用js竖立websocket链接,代码相似如许:
// 假定效劳端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);
};
以上就是workerman 403毛病缘由与解决方法的细致内容,更多请关注ki4网别的相干文章!