0
をドロップ私はクライアントサーバアプリケーションを持って、クライアントは、Javaデスクトップアプリケーションに基づいて、およびサーバーは、エンドポイントを使用したWebアプリケーションですを露出し、Tomcatを展開。WebSocketを - OnCloseの - サーバー/クライアント - インターネット接続
@OnClose
は、以下のシナリオを処理しますか?@OnClose
メソッドについては、サーバーエンドポイントに何らかのメッセージを送信できますか?
は、私は、クライアント接続が閉じどこシナリオを処理する必要があるため、インターネットドロップ接続
2)システムが休止状態モードに入る)
1.へ。
サーバーでクライアント接続を開くことができます。ここで
は私のクライアントコード
@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
上記のような場合に役立ちます。