1
我得到了下面的Java代码:检测服务器端的FIN数据包
Socket s = new Socket();
s.connect(mySockAddr, myTimeout);
假设我不使用插座,我需要检测服务器端连接关闭(FIN
或RST
包)作为一旦它发生了。
举例来说,虽然它检查套接字状态,或者拦截FIN
/RST
包线程...
我如何检测呢?
我试过printWriter.checkError()
,socket.isConnected()
,socket.isClosed()
方法,但没有任何工作。
除了“是唯一可以这样做的阅读”之外,第一段是正确的。其余的不太好:大部分情况会略好一些。后续的读取不会抛出异常,它们将继续返回-1。如果关闭了套接字,isClosed()将返回true,否则返回true。 – EJP
@EJP:就像我说过的......这是一段时间,因为我不得不担心它。 :P编辑。 – cHao