旗下导航:搜·么
当前位置:网站首页 > PHP框架 > Workerman > 正文

workerman客户端连不上怎么办【workerman】,workerman

作者:搜搜PHP网发布时间:2019-12-13分类:Workerman浏览:91


导读:workerman客户端连不上怎么办?客户端衔接失利缘由衔接失利客户端平常会有两种报错,connectionrefuse和connectiontimeout...

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网别的相干文章!

标签:workerman