这篇文章给大家分享的是有关workerman出现403错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
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错误怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。