使用workerman离线消息和消息发送失败重发分别如何实现呢?

phper

使用workerman离线消息和消息发送失败重发分别如何实现呢?
判断是否下线使用isOnline($client_id)吗?
还有就是心跳检测机制中
$gateway->pingNotResponseLimit = 4;//客户端4次无回应则断开
这行代码无回应怎么理解呢?

4695 1 0
1个回答

walkor 打赏

1、搞个数据库表,每条聊天记录都有个已读未读字段。
2、客户端每次收到一个消息,回复一个包给服务端,服务端收到后把对应记录置为已读。
3、当客户端连接上来时,读取数据库,找到未读状态的消息,发送给客户端,然后流程参考2。

$gateway->pingNotResponseLimit = 4;

客户端连续4次没有发送心跳给服务端,则认为客户端下线了,断开连接

  • 暂无评论
年代过于久远,无法发表回答
×
🔝