Websockets - onclose - server/client - 互联网连接断开
Websockets - onclose - server/client - internet connection drop
我有客户端-服务器应用程序,客户端基于Java桌面应用程序,服务器是 Web 应用程序,端点已公开 并已部署 tomcat.
@OnClose
是否处理以下情况。 当涉及到 @OnClose
方法时,我可以向服务器端点发送一些消息吗?
我需要处理客户端连接因
而关闭的情况
1.) 互联网断开连接
2.) 系统进入休眠模式。
服务器可以打开我的客户端连接。
这是我的客户端代码
@ClientEndpoint
public class ChatroomClientEndPoint {
Session session = null;
public ChatroomClientEndPoint() {
URI uri;
try {
uri = new URI("endpoint url");
ContainerProvider.getWebSocketContainer().connectToServer(this, uri);
System.err.println("Connection found");
} catch (Exception ex) {
System.err.println("No connection found-->" + ex);
}
}
@OnOpen
public void processOpen(Session session) throws MalformedURLException, IOException {
session.setMaxIdleTimeout(60000 * 60 * 24); //websocket session timeout =1 day
this.session = session;
}
@OnMessage
public void processMessage(String message) throws JSONException {
// on receiving messages from server, sends desktop notifications
}
public void disConnect() throws IOException {
sendMessage("close");
}
}
** 此代码已经开发,我认为他们还没有实现 @OnClose
因为他们 向服务器发送关闭消息 ,然后服务器从中删除该会话它的列表。
如果遇到上述类似的故障,@OnClose
可以提供帮助吗?
我为此找到了 solution/workaround。
一旦您的互联网连接中断,套接字通道保持不变,客户端无法再发送消息。
我做了什么,每当请求到达我的服务器端点时,我都会询问客户端 "if it is connected",然后最多等待 3 秒才能获得响应,但失败这样做,这意味着套接字未连接。
我有客户端-服务器应用程序,客户端基于Java桌面应用程序,服务器是 Web 应用程序,端点已公开 并已部署 tomcat.
@OnClose
是否处理以下情况。 当涉及到 @OnClose
方法时,我可以向服务器端点发送一些消息吗?
我需要处理客户端连接因
而关闭的情况1.) 互联网断开连接
2.) 系统进入休眠模式。
服务器可以打开我的客户端连接。
这是我的客户端代码
@ClientEndpoint
public class ChatroomClientEndPoint {
Session session = null;
public ChatroomClientEndPoint() {
URI uri;
try {
uri = new URI("endpoint url");
ContainerProvider.getWebSocketContainer().connectToServer(this, uri);
System.err.println("Connection found");
} catch (Exception ex) {
System.err.println("No connection found-->" + ex);
}
}
@OnOpen
public void processOpen(Session session) throws MalformedURLException, IOException {
session.setMaxIdleTimeout(60000 * 60 * 24); //websocket session timeout =1 day
this.session = session;
}
@OnMessage
public void processMessage(String message) throws JSONException {
// on receiving messages from server, sends desktop notifications
}
public void disConnect() throws IOException {
sendMessage("close");
}
}
** 此代码已经开发,我认为他们还没有实现 @OnClose
因为他们 向服务器发送关闭消息 ,然后服务器从中删除该会话它的列表。
如果遇到上述类似的故障,@OnClose
可以提供帮助吗?
我为此找到了 solution/workaround。
一旦您的互联网连接中断,套接字通道保持不变,客户端无法再发送消息。
我做了什么,每当请求到达我的服务器端点时,我都会询问客户端 "if it is connected",然后最多等待 3 秒才能获得响应,但失败这样做,这意味着套接字未连接。