首页 > php框架 > Workerman > workerman 403错误原因与解决方法

workerman 403错误原因与解决方法

发布: 2019-12-05 10:52:31
原创
3309 人浏览过

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链接,代码类似这样:

1

2

3

4

5

6

7

8

9

10

// 假设服务端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错误原因与解决方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板