我最近一直在编写java代码来发送通知到Apple推送通知服务器。我遇到的问题是如果我创建套接字然后断开与网络的连接。我附近反弹上线的文章,最建议依托方法:Java套接字 - 检测没有输入流的网络断开连接
socket.setKeepAlive(false);
socket.setSoTimeout(1000);
具体的“setSoTimeout”的方法。但javadoc声明setSoTimeout只会在从InputStream读取时引发异常。但Apple推送通知服务器从不在InputStream上放置任何数据,所以我永远不能读取任何数据。有没有人有任何建议,如何确定网络断开连接,而不使用套接字InputStream?
请参阅http://stackoverflow.com/questions/22720/configure-a-java-socket-to-fail-fast-on-disconnect和http://stackoverflow.com/questions/2028620/java-sockets-和下降的连接。 – 2012-01-05 16:52:30