导包
复制代码
1implementation 'com.squareup.okhttp3:mockwebserver:3.8.1'
建立 WebSocket 连接
复制代码
1
2
3
4
5
6
7
8OkHttpClient mOkHttpClient = new OkHttpClient.Builder() .pingInterval(40, TimeUnit.SECONDS) // 设置 PING 帧发送间隔---包活 .build(); Request request = new Request.Builder() .url(url) .build();
使用 WebSocketListener
WebSocketListener 是一个抽象类,其中定义了比较多的方法,借助这些方法回调,就可以完成对 WebSocket 的所有操作。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36mOkHttpClient.newWebSocket(request, new WebSocketListener() { @Override public void onOpen(WebSocket webSocket, Response response) { super.onOpen(webSocket, response); // WebSocket 连接建立 } @Override public void onMessage(WebSocket webSocket, String text) { super.onMessage(webSocket, text); // 收到服务端发送来的 String 类型消息 /** * 在这里对收到的信息进行处理 */ } @Override public void onClosing(WebSocket webSocket, int code, String reason) { super.onClosing(webSocket, code, reason); //客户端主动关闭时回调 } @Override public void onClosed(WebSocket webSocket, int code, String reason) { super.onClosed(webSocket, code, reason); // WebSocket 连接关闭 } @Override public void onFailure(WebSocket webSocket, Throwable t, Response response) { super.onFailure(webSocket, t, response); // 出错了 } }); mOkHttpClient.dispatcher().executorService().shutdown();
发送消息
复制代码
1
2
3JSONObject jsonObject = new JSONObject(); jsonObject.put("xxxxxx", xxxxx); mWebSocket.send(jsonObject.toString());
最后
以上就是清秀彩虹最近收集整理的关于OkHttp实现WebSocket的全部内容,更多相关OkHttp实现WebSocket内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复