Servus,
ich habe ein kleines Problem mit meiner Websockets Connection, es werden permanent Daten geschickt aber nach ca 80 Sekunden kommt nichts mehr an. onClose wird nicht aufgerufen udn ich kann die Connection manual auch starten.
Ich nutze tyrus-standalone-client 1.13.1
https://repo1.maven.org/maven2/org/glassfish/tyrus/bundles/tyrus-standalone-client/1.13.1/
ich habe auch schon mit setDefaultMaxSessionIdleTimeout und setAsyncSendTimeout experimentiert was nicht zum gewünschten Erfolg führte.
Zuerst dachte ich es liegt an meiner UMTS Verbindung, aber auch zu Hause über DSL ohne Proxy habe ich das Problem
Hat jemand eine Idee wo das Problem liegt ?
Ich tippe drauf das der Client kein "keep alive" schickt
ich habe ein kleines Problem mit meiner Websockets Connection, es werden permanent Daten geschickt aber nach ca 80 Sekunden kommt nichts mehr an. onClose wird nicht aufgerufen udn ich kann die Connection manual auch starten.
Ich nutze tyrus-standalone-client 1.13.1
https://repo1.maven.org/maven2/org/glassfish/tyrus/bundles/tyrus-standalone-client/1.13.1/
ich habe auch schon mit setDefaultMaxSessionIdleTimeout und setAsyncSendTimeout experimentiert was nicht zum gewünschten Erfolg führte.
Zuerst dachte ich es liegt an meiner UMTS Verbindung, aber auch zu Hause über DSL ohne Proxy habe ich das Problem
Java:
package de.xxx.xx;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import javax.websocket.ClientEndpoint;
import javax.websocket.ContainerProvider;
import javax.websocket.DeploymentException;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
import org.json.JSONException;
@ClientEndpoint
public class TestWebsocketClient {
private final String uri="ws://bm-lastheard.pi9noz.ampr.org/lh//?EIO=3&transport=websocket&sid=";
private Session session;
private RepeaterReader clientWindow;
public TestWebsocketClient(RepeaterReader cw){
clientWindow=cw;
WebSocketContainer container=ContainerProvider.getWebSocketContainer();
try {
container.connectToServer(this, new URI(uri));
System.out.println("Test: Connect to Server " + session.getId());
} catch (DeploymentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@OnOpen
public void onOpen(Session session){
this.session=session;
System.out.println("Test: onOpen");
}
@OnMessage
public void onMessage(String message, Session session){
try {
clientWindow.writeServerMessage(message);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void onClose(){
System.out.println("Closed");
}
public void sendMessage(String message){
try {
session.getBasicRemote().sendText(message);
} catch (IOException ex) {
System.out.println("Error sending Message");
}
}
}
Hat jemand eine Idee wo das Problem liegt ?
Ich tippe drauf das der Client kein "keep alive" schickt