目标
我正在使用套接字来实现具有聊天轮盘功能的即时消息应用。 如果2个客户正在讲话,1个断开连接,则另一个需要知道。 断开连接包括优雅和非正常的断开连接(即你的手机死机)。
当前策略
在我的头脑中,我的策略是让每个客户端大约每5秒ping一次服务器(这是一种"心跳")。如果客户端错过了一个间隔,服务器将让另一个客户端知道。
关注
这似乎不会很好地扩展。服务器必须为每个客户端使用一个监听器。拥有数千或数百万客户端ping服务器听起来非常残酷。
问题
如何在能够扩展的同时相对快速地确定客户端断开连接?
附注
服务器端在php中。客户端在java。