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());
}
}
}
Проблема в том, что если я хочу обратиться к нему через какое-то время, он мертвый, а мне надо что бы он жил, и принимал мог принимать сообщения, не отключаясь