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

workerman怎样坚持衔接【workerman】,workerman

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


导读:一般的状况客户端断开衔接会向服务端发送一个fin包,服务端收到fin包后得知客户端衔接断开,则马上触发onClose事宜回调。然则有些极度状况如客户端掉电、收集封闭、拔...

一般的状况客户端断开衔接会向服务端发送一个fin包,服务端收到fin包后得知客户端衔接断开,则马上触发onClose事宜回调。

然则有些极度状况如客户端掉电、收集封闭、拔网线、路由毛病等,这些极度状况客户端没法发送fin包给服务端,服务端便没法晓得衔接已断开。假如客户端与服务端定时有心跳数据传输,则会比较实时的发明衔接断开,触发onClose事宜回调。

别的路由节点防火墙会封闭长时间不通信的socket衔接,致使socket长衔接断开。所以须要客户端与服务端定时发送心跳数据坚持衔接不被断开。

GatewayWorker中怎样设置心跳检测?

现在GatewayWorker支撑两种心跳检测,服务端设定若干秒内没收到心跳封闭衔接(引荐),同时也支撑服务端定时向客户端发送心跳数据(不引荐)。

客户端定时发送心跳(引荐)

客户端定时(距离最好小于60秒)向服务端发送心跳。服务端相似以下设置:

$gateway = new Gateway("Websocket://0.0.0.0:8585");
$gateway->pingInterval = 55;
$gateway->pingNotResponseLimit = 1;
$gateway->pingData = '';

以上设置寄义是客户端衔接 pingInterval*pingNotResponseLimit=55 秒内没有任何要求则服务端以为对应客户端已掉线,服务端封闭衔接并触发onClose回调。

更多workerman学问请关注workerman教程栏目。

以上就是workerman怎样坚持衔接的细致内容,更多请关注ki4网别的相干文章!

标签:workerman