客户端有个Tcpsocket对象client,服务器有个TcpServer对象server,server进行监听,当server类监听到有客户连接,就搞一个socket对象,与客户机进行交互,这没啥问题,问题是,假设当client主动断开连接的时候(比如死机,停电,正常关闭客户端等等情况),服务端的socket并不能发送有效的信号,来通知server客户机下线。之前我连接过disconnected信号,但是发现当client断开的时候,这个信号并不发送,为此我想到了心跳,不过我设计的是,多客户端连接一个服务器,假设有N个客户端的话,我设计心跳可能需要N个定时器,或者N个线程,这并不靠谱,请教大家,这个问题如何解决??
------解决思路----------------------
客户端来用定时器实现主动报告给服务端来实现心跳,不要在服务器来主动发送数据包。
------解决思路----------------------
服务器只要开一个定时器来进行检查那些客户端超时就可以了。