blockchain.info websocket: Error code = 1006, Unexpected end of stream

0

I am using javax.websockets to have a webSocket connection with Blockchain.info, except that it closes down after random intervals, and I can see the close reason as:

'Unexpected end of stream', Error Code = 1006.

I am not able to figure out why this occurs. Here is the code:

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
}

Waqas Shah

Posted 2015-01-19T06:32:25.790

Reputation: 143

Quoting RFC 6455: 1006 is [...] designated for use in applications expecting a status code to indicate that the connection was closed abnormally, e.g., without sending or receiving a Close control frame. It sounds like your connection to blockchain.info is dropping occasionally. If you use ping -t blockchain.info, are some packets dropped?

Nick ODell 2015-01-19T07:47:46.240

Sending a ping message after every 30 seconds to the server endpoint did the trick. But now I get the issue 'Connection reset by peer', same closing code. Thanks for the answer btw.Waqas Shah 2015-01-20T13:19:45.567

@NickODell: Perhaps you could make that comment an answer?Murch 2017-06-20T05:25:04.147

@Murch I don't think it solved his problem. It sounds like he's just getting TCP RST's now.Nick ODell 2017-06-20T15:21:26.023

No answers