okhttp实现websocket长连接

最近okhttp很火,于是就把之前用的框架换成了这个实现方式差不多。 

private OkHttpClient client = null;
private WebSocket mWebsocket=null;
client=new OkHttpClient.Builder()
.connectTimeout(0, TimeUnit.SECONDS)
        .readTimeout(20, TimeUnit.SECONDS).build();
String uri="ws://"+ipadress;
  Request request = new Request.Builder().url(uri).build();
    client.newWebSocket(request, new WebSocketListener() {
        @Override
        public void onOpen(WebSocket webSocket, Response response) {
            mWebsocket=webSocket;
            Log.d(TAG, "Status: Connected to " + uri);
        }
        @Override
        public void onMessage(WebSocket webSocket, String payload) {
        }
        @Override
        public void onClosed(WebSocket webSocket, int code, String reason) {
            super.onClosed(webSocket, code, reason);           
        }
        @Override
        public void onClosing(WebSocket webSocket, int code, String reason) {
            super.onClosing(webSocket, code, reason);
            Log.d(TAG, "onClosing: "+reason);
        }

        @Override
        public void onFailure(WebSocket webSocket, Throwable t, Response response) {
            super.onFailure(webSocket, t, response);
            Log.d(TAG, "onFailure: websocket"+t.toString());
            mWebsocket=null;
        }
    }); 
} catch (Exception e) {
    Log.e(TAG, e.toString());
}


你可能感兴趣的:(android控件大集合)