8000 Create WSSClient.java · qos-max/qos-quote-api-stock-api@b05a56d · GitHub
[go: up one dir, main page]

Skip to content

Commit b05a56d

Browse files
authored
Create WSSClient.java
1 parent f24cb37 commit b05a56d

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

example/java/WSSClient.java

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
import org.java_websocket.client.WebSocketClient;
2+
import org.java_websocket.handshake.ServerHandshake;
3+
import java.net.URI;
4+
import java.net.URISyntaxException;
5+
import java.util.Timer;
6+
import java.util.TimerTask;
7+
8+
public class WSSClient {
9+
public static void main(String[] args) {
10+
try {
11+
// WebSocket URL
12+
//官网:https://qos.hk
13+
//免费api key注册申请:https://qos.hk
14+
String url = "wss://api.qos.hk/ws?key=your-api-key";
15+
16+
WebSocketClient client = new WebSocketClient(new URI(url)) {
17+
@Override
18+
public void onOpen(ServerHandshake handshake) {
19+
System.out.println("WebSocket 连接成功!");
20+
21+
send("""
22+
{"type":"S","codes":["US:AAPL","HK:700,9988","CF:BTCUSDT","SZ:000001","SH:600519"],"reqid":1}
23+
""");
24+
25+
new Thread(() -> {
26+
try {
27+
Thread.sleep(1000);
28+
send("""
29+
{"type":"T","codes":["US:AAPL","HK:700,9988","CF:BTCUSDT","SZ:000001","SH:600519"],"reqid":1}
30+
""");
31+
Thread.sleep(1000);
32+
send("""
33+
{"type":"D","codes":["US:AAPL","HK:700,9988","CF:BTCUSDT","SZ:000001","SH:600519"],"reqid":1}
34+
""");
35+
Thread.sleep(1000);
36+
send("""
37+
{"type":"K","codes":["CF:BTCUSDT"],"kt":1001,"reqid":1}
38+
""");
39+
40+
} catch (InterruptedException e) {
41+
System.err.println("WebSocket send error: " + e.getMessage());
42+
}
43+
}).start();
44+
45+
// 启动心跳,每 20 秒发送一次
46+
Timer timer = new Timer(true);
47+
timer.scheduleAtFixedRate(new TimerTask() {
48+
@Override
49+
public void run() {
50+
send("{\"action\":\"ping\"}");
51+
System.out.println("发送心跳包");
52+
}
53+
}, 20000, 20000);
54+
}
55+
56+
@Override
57+
public void onMessage(String message) {
58+
System.out.println("收到消息: " + message);
59+
}
60+
61+
@Override
62+
public void onClose(int code, String reason, boolean remote) {
63+
System.out.println("WebSocket 连接关闭: " + reason);
64+
}
65+
66+
@Override
67+
public void onError(Exception ex) {
68+
System.out.println("WebSocket 错误: " + ex.getMessage());
69+
}
70+
};
71+
72+
client.connect();
73+
74+
}catch (URISyntaxException e) {
75+
System.err.println("WebSocket URL 格式错误: " + e.getMessage());
76+
e.printStackTrace();
77+
} catch (Exception e) {
78+
System.err.println("WebSocket 连接失败: " + e.getMessage());
79+
e.printStackTrace();
80+
}
81+
}
82+
}
83+

0 commit comments

Comments
 (0)
0