workerman客户端连不上怎么办?
客户端衔接失利缘由
衔接失利客户端平常会有两种报错,connection refuse 和 connection timeout
connection refuse(衔接谢绝)
平常是以下缘由:
1、客户端衔接的端口错了
2、客户端衔接的域名或许ip错了
3、假如客户端运用了域名衔接,域名大概指向了毛病的效劳器ip
4、效劳端没有启动或许端口没有被监听
5、运用了收集代办软件
6、效劳端监听ip与接见地点不在一个地点段。比方效劳端监听127.0.0.1,则客户端只能经由过程127.0.0.1衔接,不能经由过程局域网ip或许外网ip衔接。发起监听地点设置为0.0.0.0,如许本机、内网、外网都能够衔接。
connection timeout(衔接超时)
平常是以下缘由:
1、效劳器防火墙阻挠了衔接,能够暂时封闭防火墙试下
2、假如是云效劳器,安全组也大概会阻挠衔接竖立,须要到治理背景开放对应端口
3、效劳器不存在或许没有启动
4、假如客户端运用了域名衔接,域名大概指向了毛病的效劳器ip
5、客户端接见的ip是效劳器内网ip,而且客户端和效劳端不在一个局域网
别的报错
假如发作的报错不是connection refuse 和 connection timeout则平常是以下缘由:
1、客户端运用的通信协定与效劳端不一致。
比方效劳端是http通信协定,客户端运用websocket通信协定接见是没法衔接的。假如客户端用websocket协定衔接,那末效劳端必需也是websocket协定。假如效劳端是http协定的效劳,那末客户端必需用http协定接见。
这里的道理相似假如你要和英国人交换,那末要运用英语。假如要和日本人交换,那末要运用日语。这里的言语就相似通信协定,两边(客户端和效劳端)必需运用雷同的言语才交换,不然没法通信。
通信协定不一致致使的罕见的报错有:
WebSocket connection to 'ws://xxx.com:xx/' failed: Error during WebSocket handshake: Unexpected response code: xxx WebSocket connection to 'ws://xxx.com:xx/' failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE
解决办法:
从上面两条报错看出,客户端运用的是ws衔接是websocket协定。效劳端也需如果websocket协定才行,效劳端监听部份代码须要指定websocket协定才通信,比方下面如许
假如是gatewayWorker,监听部份代码相似
// websocket协定,如许客户端才用ws://...来连。xxxx为端口不必修改 $gateway = new Gateway('websocket://0.0.0.0:xxxx');
假如是Workerman则是
// websocket协定,如许客户端才用ws://...来连。xxxx为端口不必修改 $worker = new Worker('websocket://0.0.0.0:xxxx');
引荐:workerman教程
以上就是workerman客户端连不上怎么办的细致内容,更多请关注ki4网别的相干文章!