Hello,

As I told still doing testing with the web sockets. It seems that a
reconnection doesn't fully work. I don't know why.

If the connection is the first the browser does. It works nice. The
server sends a message to the client (browser) and the browser responds
with a request for data.

That works nicely.

But when I reload the page, most of times doesn't work.

2017-03-08 18:19:14,117 [http-bio-8080-exec-29] DEBUG
com.level2.dashboard.web.component.websocket.MessengerWebSocketResource
- Connected application
com.level2.dashboard.PandoraApplicationImpl@49b8641c with session id
AAD6510DE8CA72C6CE7FF1FD4F1CF03D
2017-03-08 18:19:14,117 [http-bio-8080-exec-29] WARN 
com.level2.dashboard.web.component.websocket.WebSocketClientManagerImpl
- The client
a13f637ea458fb61807e65429a9c18e3f5e8dd46cbe2d46cd1cc0894b4abb2f is
already connected, resending id

The server receives a connection. And in response it sends a message to
the client with a client ID. The client should respond. but it seems
browser never receives the message.

Why it doesn't work? Can connection be dropped or messages lost?

I added some logs to see if the socket is closed but it's ok.
    @Override
    public boolean sendMessage(ConnectionIdentifier identifier, String
message)
    {
        Application application =
Application.get(identifier.getApplicationName());
        IWebSocketSettings webSocketSettings =
IWebSocketSettings.Holder.get(application);
        IWebSocketConnectionRegistry webSocketConnectionRegistry =
webSocketSettings.getConnectionRegistry();
        IWebSocketConnection connection =
webSocketConnectionRegistry.getConnection(application,
identifier.getSessionId(), identifier.getKey());
        if (connection == null || !connection.isOpen())
        {
            log.warn("Connection is closed!!!");
            return false;
        }
        try {
            connection.sendMessage(message);
        } catch (IOException e) {
            log.warn("Cannot send message: {}", e.getMessage());
            return false;
        }
        return true;
    }
So Why I cannot send it. Or why the client is not receiving it?

Best regards,


Reply via email to