1

I am trying to establish a websocket connection on my server. Where do I place the code to connect, reconnect if connection closed, etc, in my Android app so that if the app is closed the websocket connection will still work?

public class EchoWebSocketListener extends WebSocketListener {
        @Override
        public void onOpen(WebSocket webSocket, okhttp3.Response response) {
            Log.d(TAG, "onOpen: Opened: " + response.toString());
        }

        @Override
        public void onMessage(WebSocket webSocket, String text) {
            Log.d(TAG, "onMessage: Recieved: " + text);
           
        }

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

        @Override
        public void onClosed(WebSocket webSocket, int code, String reason) {
            Log.d(TAG, "onClosed: Closed: ");
        }

        @Override
        public void onFailure(WebSocket webSocket, Throwable t, okhttp3.Response response) {
            Log.d(TAG, "onFailure: Failure" + t);
            //createNewWebsocketConnection();
        }
    }

    private void createNewWebsocketConnection(){

        if(mUserId != null){
            EchoWebSocketListener listener = new EchoWebSocketListener();
            Request request = new Request.Builder()
                    .url(MAIN_WS_URL)
                    .addHeader("user_id_connection", mUserId)
                    .build();

            OkHttpClient client = new OkHttpClient
                    .Builder()
                    .pingInterval(30, TimeUnit.SECONDS)
                    .build();
            ws = client.newWebSocket(request, listener);
        }

    }
DIRTY DAVE
  • 2,523
  • 2
  • 20
  • 83
  • You should probably use a Service to handle such tasks – Rahul Shukla Dec 23 '20 at 05:31
  • which type of service is usually recommended for WS? Theres multiple but I don't know which one to choose – DIRTY DAVE Dec 23 '20 at 05:38
  • 2
    These should help you https://stackoverflow.com/questions/29090505/android-websocket-services-making-multiple-connections https://stackoverflow.com/questions/29481798/android-websocket-service-persistent-connection https://stackoverflow.com/questions/46780547/websocket-paused-when-android-app-goes-to-background – Rahul Shukla Dec 23 '20 at 06:28
  • Were you able to conclude anything from the above links? – Rahul Shukla Dec 24 '20 at 06:54

0 Answers0