在 不考虑网络延时造成的不能判断是否断开 的情况下
怎么实时的知道Sokcet时候还连接着?
一旦客户端异常断开 或者正常断开
马上执行一个方法能不能不用脉搏包 不PING?
客户端一断 服务器马上知道我现在做这个东西 不知道问题出在哪
只要客户端和服务端通信过 服务端便不能判断异常断开了
怎么实时的知道Sokcet时候还连接着?
一旦客户端异常断开 或者正常断开
马上执行一个方法能不能不用脉搏包 不PING?
客户端一断 服务器马上知道我现在做这个东西 不知道问题出在哪
只要客户端和服务端通信过 服务端便不能判断异常断开了
只有在进行IO操作的时候。
比如
客户端发来请求,要求服务器做需要1分钟才能完成的任务,然后返回处理结果
在服务器干活的这段时间,客户端在等待服务器返回,而服务器呢?正忙着干活呢!
此时,如果客户端断开了链接,而服务器端正忙着,所以根本不会处理这个问题。
1分钟后,服务器端终于干完活了,想返回结果,此时才发现,对方已经断开了,然后抛出了异常。所以,如果没有ping之类的心跳功能,我们是不可能更快的发现连接断开的。原帖:http://www.java2000.net/p18404