2016-05-20 9 views
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上記のような場合に役立ちます。

答えて

関連する問題