Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javax.websocket,错误代码=1006,原因=意外的流结束_Java_Websocket_Bitcoin_Java Websocket - Fatal编程技术网

Javax.websocket,错误代码=1006,原因=意外的流结束

Javax.websocket,错误代码=1006,原因=意外的流结束,java,websocket,bitcoin,java-websocket,Java,Websocket,Bitcoin,Java Websocket,我正在使用javax.websockets与Blockchain.info建立webSocket连接,只是它在随机间隔后关闭,我可以看到关闭原因如下: “意外的流结束”,错误代码=1006 我不知道为什么会发生这种情况。我希望连接永远不会关闭,除非应用程序告诉它关闭。代码如下: private void initializeWebSocketSession(Session session) { WebSocketContainer container container = Contai

我正在使用javax.websockets与Blockchain.info建立webSocket连接,只是它在随机间隔后关闭,我可以看到关闭原因如下:

“意外的流结束”,错误代码=1006

我不知道为什么会发生这种情况。我希望连接永远不会关闭,除非应用程序告诉它关闭。代码如下:

private void initializeWebSocketSession(Session session)
{
    WebSocketContainer container container = ContainerProvider.getWebSocketContainer();
    Session session = container.connectToServer(BlockchainWebSocketClient.class, URI.create("wss://ws.blockchain.info/inv"));               
}

public void onOpen(Session session) throws IOException
{
    session.setMaxIdleTimeout(0);
    session.getBasicRemote().sendText("{\"op\":\"unconfirmed_sub\"}");
}

@OnMessage
public void onMessage(String message, boolean isLastPartOfMessage)
{
    // Some logic
}

1006表示“连接丢失”;您确定没有任何连接问题吗?我开始每隔30秒向服务器发送ping,现在该问题已解决。但现在我得到了另一个相同的关闭代码的原因:“由对等方重置连接”。你可能对Tyrus中的心跳功能感兴趣:关于“由对等方重置连接”-这可能只是服务器的“防御”机制,可能他们想要阻止大量打开的连接,他们有一些类似“硬”的东西超时-根据某些服务器条件限制websocket连接。@PavelBuckek:谢谢。您认为Tyrus会比javax.webSocket实现更好吗?可以比较一下吗?