WebSocket - долгая жизнь?

У меня есть WebSocket

Request request = new Request.Builder()
            .url("Мой heroku сервак")
            .build();
 
    OkHttpClient client = new OkHttpClient();
    WebSocket webSocket = client.newWebSocket(request, new EchoWebSocketListener(client));
 
    client.dispatcher().executorService().shutdown();

может пригодится слушатель

class EchoWebSocketListener extends WebSocketListener {
    private static final int NORMAL_CLOSURE_STATUS = 1000;
 
    EchoWebSocketListener(OkHttpClient client)
    {
        Moshi moshi = new Moshi.Builder().build();
 
    }
 
    @Override
    public void onOpen(WebSocket webSocket, Response response) {
      //  super.onOpen(webSocket, response);
        System.out.println("open " + response.toString());
 
        Message message = new Message(5L,"Hello");
 
        Moshi moshi = new Moshi.Builder().build();
        JsonAdapter<Message> adapter = moshi.adapter(Message.class);
 
        webSocket.send(adapter.toJson(message));
        System.out.println(adapter.toJson(message));
    }
 
 
    @Override
    public void onMessage(WebSocket webSocket, String text) {
            System.out.println("onMessage " + text);
    }
 
    @Override
    public void onMessage(WebSocket webSocket, ByteString bytes) {
        System.out.println("onMessage " + bytes.hex());
    }
 
    @Override
    public void onClosing(WebSocket webSocket, int code, String reason) {
        webSocket.close(NORMAL_CLOSURE_STATUS, null);
        System.out.println("on Close ");
    }
 
    @Override
    public void onFailure(WebSocket webSocket, Throwable t, Response response) {
        if (response != null) {
            System.out.println("on Failure " + t.getMessage() + " " + response.toString());
        }
        else {
            System.out.println("on Failure " + t.getMessage());
        }
    }
}

Проблема в том, что если я хочу обратиться к нему через какое-то время, он мертвый, а мне надо что бы он жил, и принимал мог принимать сообщения, не отключаясь


Ответы (1 шт):

Автор решения: Sergei Kirjanov

можно ping-pong слать, и если что, переподключаться

→ Ссылка