2016-12-15 16 views
1

OkHttp 3.5にはWebソケットが含まれていますので、使いたいです。しかし、私は1つの問題を抱えています。なぜ、私は "永遠の"接続を行うことができますか?と二番目のqestion、どのようにソケットの接続を確認することができますか?OkHttp 3.5 webSocketは接続を維持しません

Singltonクラス

public class ServerSocket { 

    @Singleton 
    public OkHttpClient getOkHttpClient(){ 
     return new OkHttpClient(); 
    } 

    @Singleton 
    public Request getRequest(){ 
     return new Request.Builder() 
       .url(Link.url_socket) 
       .build(); 
    } 


} 

私の接続クラス:

OkHttpClient client = serverSocket.getOkHttpClient(); 
     Request request = serverSocket.getRequest(); 

     WebSocketListener webSocketListener = new WebSocketListener() { 
      @Override 
      public void onOpen(WebSocket webSocket, Response response) { 
       super.onOpen(webSocket, response); 
       Log.e("connect socket", "connect socket"); 
      } 

      @Override 
      public void onMessage(WebSocket webSocket, String text) { 
       super.onMessage(webSocket, text); 
       Log.e("onMessage", text); 
      } 

      @Override 
      public void onMessage(WebSocket webSocket, ByteString bytes) { 
       super.onMessage(webSocket, bytes); 
       Log.e("onMessage", "onMessage"); 
      } 

      @Override 
      public void onClosing(WebSocket webSocket, int code, String reason) { 
       super.onClosing(webSocket, code, reason); 
       Log.e("onClosing", "onClosing"); 
      } 

      @Override 
      public void onClosed(WebSocket webSocket, int code, String reason) { 
       super.onClosed(webSocket, code, reason); 
       Log.e("onClosed", "onClosed"); 
      } 

      @Override 
      public void onFailure(WebSocket webSocket, Throwable t, Response response) { 
       super.onFailure(webSocket, t, response); 
       Log.e("onFailure", "onFailure"); 
      } 
     }; 

     socket = client.newWebSocket(request, webSocketListener); 

答えて

関連する問題