本文介绍如何使用okhttp实现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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59package com.ouya.exchange.index.util; import java.util.concurrent.CountDownLatch; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.WebSocket; import okhttp3.WebSocketListener; import okio.ByteString; public class WebsocketTest { //只是为了阻塞主线程,防止退出,所以,真正使用的时候需要去除相关的这个东西 static CountDownLatch countDownLatch=new CountDownLatch(1); public static void main(String[] args) throws InterruptedException { OkHttpClient client = new OkHttpClient.Builder().retryOnConnectionFailure(true).build(); Request request = new Request.Builder().url("ws://10.17.145.23:9988").build(); client.dispatcher().cancelAll();//清理一次 client.newWebSocket( request, new WebSocketListener() { @Override public void onOpen(WebSocket webSocket, Response response) { System.out.println("连接打开"); webSocket.send("发送了一条数据"); webSocket.send("{"FID":"003","SUB":"OFEX.BTCPERP.Depth"}"); } @Override public void onMessage(WebSocket webSocket, String text) { System.out.println("接收到消息:" + text); } @Override public void onMessage(WebSocket webSocket, ByteString bytes) { System.out.println("这个可以不管,这个接收到是byte类型的"); } @Override public void onClosing(WebSocket webSocket, int code, String reason) { System.out.println("连接关闭中"); } @Override public void onClosed(WebSocket webSocket, int code, String reason) { System.out.println("连接关闭"); } @Override public void onFailure(WebSocket webSocket, Throwable t, Response response) { System.out.println("结束时,重连可以在这儿发起"); countDownLatch.countDown(); } }); countDownLatch.await(); } }
最后
以上就是冷艳小土豆最近收集整理的关于java okhttp实现websocket客户端的全部内容,更多相关java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复