使用workerman离线消息和消息发送失败重发分别如何实现呢? 判断是否下线使用isOnline($client_id)吗? 还有就是心跳检测机制中 $gateway->pingNotResponseLimit = 4;//客户端4次无回应则断开 这行代码无回应怎么理解呢?
1、搞个数据库表,每条聊天记录都有个已读未读字段。 2、客户端每次收到一个消息,回复一个包给服务端,服务端收到后把对应记录置为已读。 3、当客户端连接上来时,读取数据库,找到未读状态的消息,发送给客户端,然后流程参考2。
$gateway->pingNotResponseLimit = 4;
客户端连续4次没有发送心跳给服务端,则认为客户端下线了,断开连接
1、搞个数据库表,每条聊天记录都有个已读未读字段。
2、客户端每次收到一个消息,回复一个包给服务端,服务端收到后把对应记录置为已读。
3、当客户端连接上来时,读取数据库,找到未读状态的消息,发送给客户端,然后流程参考2。
客户端连续4次没有发送心跳给服务端,则认为客户端下线了,断开连接