我是靠谱客的博主 清秀彩虹,这篇文章主要介绍OkHttp实现WebSocket,现在分享给大家,希望可以做个参考。

导包

复制代码
1
implementation 'com.squareup.okhttp3:mockwebserver:3.8.1'

建立 WebSocket 连接

复制代码
1
2
3
4
5
6
7
8
OkHttpClient 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
36
mOkHttpClient.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
3
JSONObject jsonObject = new JSONObject(); jsonObject.put("xxxxxx", xxxxx); mWebSocket.send(jsonObject.toString());

最后

以上就是清秀彩虹最近收集整理的关于OkHttp实现WebSocket的全部内容,更多相关OkHttp实现WebSocket内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(97)

评论列表共有 0 条评论

立即
投稿
返回
顶部