修復OkHttp的WebSocket斷線重連失敗的問題

場景描述:當用WebSocket進行鏈接時候如果網絡錯誤會出現鏈接失敗,但是當網絡再次進行鏈接時候,依然還是失敗。
代碼:

 private OkHttpClient mOkHttpClient;
 public DqWebSocketClient() {
        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        builder.addInterceptor(new SimpleInterceptor());
        mOkHttpClient = builder
                .readTimeout(3, TimeUnit.SECONDS)//設置讀取超時時間
                .writeTimeout(3, TimeUnit.SECONDS)//設置寫的超時時間
                .connectTimeout(3, TimeUnit.SECONDS)//設置連接超時時間
                .build();
        request = new Request.Builder().url("ws://192.168.72.119:6999?userId="+SystemMsgUtil.getAndroidId()).build();
        socketListener = new EchoWebSocketListener();//websocket鏈接狀態監聽,可以不用在意
    }

    public void build(){
        mOkHttpClient.newWebSocket(request, socketListener);
//        mOkHttpClient.dispatcher().executorService().shutdown();//這一行不要使用,否則會繼續上次的鏈接結果
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章