swoole连接不上的问题
本文介绍了swoole连接不上的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
服务端开了$serv = new swoole_server("0.0.0.0", 9501);
网页端开了var exampleSocket = new WebSocket("ws://192.168.1.50:9501");
一直提示 WebSocket connection to 'ws://192.168.1.50:9501/' failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE
但是看到服务端显示
Client: Connect.
Client: Close.
解决方案
你应该用 swoole_websocket_server
而不是 swoole_server
。
再来解释为什么服务端会有输出。
为什么呢,你一定是在监听到连接和断开连接的时候就输出的吧。
原因呢,是 Websocket
是通过 HTTP
来进行握手的。而 HTTP
是的下层协议是 TCP
,在 Swoole
里也就对应了 swoole_server
。TCP
的握手是一定会有的,只是如果你用 Websocket
直接去连接 TCP
的服务,肯定是握不上 Websocket
的手的。
这篇关于swoole连接不上的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文