【发布时间】:2016-11-04 06:29:06
【问题描述】:
我正在使用 websockets(org.java_websocket) 的 java 实现。我正在使用“ifconfig l0 down”来模拟网络故障。我希望服务器即使在网络关闭时也能继续发送消息,并在网络再次启动时重新发送它们(通过 tcp 机制)。但是,java实现在send函数中有如下检查
private void send( Collection<Framedata> frames ) {
if( !isOpen() )
throw new WebsocketNotConnectedException();
导致
an error occured
close a stream
Exception in thread "main" org.java_websocket.exceptions.WebsocketNotConnectedException
一旦我模拟服务器和客户端之间的连接丢失。
由于我没有正确调用 websockets 中的 close() 函数,我觉得 TCP 机制应该工作一段时间,然后超时导致 websockets 层关闭连接。我期待一些外在的东西吗?有没有可以帮助我的实现?
【问题讨论】:
-
这里的问题不是网络问题,而是你的代码在某个地方关闭了套接字,然后继续使用它。
-
@EJP 虽然,我解决了这个问题,你能帮我解决stackoverflow.com/questions/40441420/… 上发布的后续问题吗?
标签: java sockets websocket network-programming