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);