Hi, I'm having a strange issue:
I'm developing a frontend with WebSockets, (my first WebSocket! ). To test
the code I'm also developing some tests to run in Eclipse.
So, I create a Client in the Test, connect to the server, and want to have
some communication.
I added lot of logs to debug the issue:
- *WebsocketClientEndpoint*:33 - Connect to server
- *WebsocketClientEndpoint*:41 - Before Request: Cookie,
JSESSIONID=A65A4F5711DC8820C246DDD45A409BFA
- WebSocketFilter:38 - Filter executing ..
- *WebsocketClientEndpoint*:64 - opening websocket
- WebSocketServer:59 - 1 has opened a connection
- WebSocketServer:64 - clientIP: 127.0.0.1
- *WebsocketClientEndpoin*t:113 - sendMessage ....
- WebSocketServer:75 - onMessage: .....
- WebSocketServer:117 - Send OK message
At the end, the server sends a response ("OK"), and the client waits for
the response of the server.
But the client doesn't receive it, no mater how long I wait.
I debug the Tomcats code, but couldn't find the issue.
It's not clear for me the point where the library writes the information in
the socket.
This is how I send the response from the server:
*WFMWebSocketServer*
* @OnMessage*
public void onMessage(String message) {
......
// Send OK response
try {
logger.debug("Send OK message");
* session.getBasicRemote().sendText("OK");*
} catch (IOException e) {
e.printStackTrace();
}
.....
}
The following is the @OnOpen code:
*@OnOpen*
public void onOpen(Session session) {
this.session = session;
logger.info(session.getId() + " has opened a connection");
final PrincipalWithRemoteAddress pws = ((PrincipalWithRemoteAddress)
session.getUserPrincipal());
remoteAdr = pws == null ? null : pws.getRemoteAdr();
try {
* session.getBasicRemote().sendText("OK");*
} catch (IOException e) {
e.printStackTrace();
}
}
Also the previous "OK" message is not received in the client, I don't see
the log of it in the console:
*WebsocketClientEndpoint*
@OnMessage
public void onMessage(String message) {
logger.debug("onMessage: " + message);
if (this.messageHandler != null) {
this.messageHandler.handleMessage(message);
}
}
Any idea why I am having just like half duplex communication ?
Or any idea how to debug or analyze the issue in order to fix it?
The version of the libraries and Tomcat I'm using is:
<tomcat.version>8.5.15</tomcat.version>
Thanks!
"No olvides, no traiciones, lo que llevas bien dentro de ti. No olvides, no
traiciones, lo que siempre te ha hecho vivir."