我正在使用okhttp-4.9.3创建一个连接到Binance的websocket。
在他们的文档中,他们说他们每3分钟发送一次ping,我需要回答。
但我不知道该怎么做。
我有一个WebSocketListener:
public static void main(String[] args){
Request request = new Request.Builder()
.url("wss://stream.binance.com:9443/ws")
.build();
webSocketBinance = okHttpClient.newWebSocket(request, new SocketListen);
webSocketBinance.send("{\"method\":\"SUBSCRIBE\",\"params\":[\"egldusdt@depth5@100ms\"],\"id\":1}");
}
public static class SocketListen extends okhttp3.WebSocketListener{
@Override
public void onOpen(@NotNull WebSocket webSocket, @NotNull Response response){
System.out.println("onOpen");
super.onOpen(webSocket, response);
}
@Override
public void onMessage(@NotNull WebSocket webSocket, @NotNull String text){
System.out.println(text);
super.onMessage(webSocket, text);
}
@Override
public void onMessage(@NotNull WebSocket webSocket, @NotNull ByteString bytes){
onMessage(webSocket, bytes.toString());
}
@Override
public void onClosed(@NotNull WebSocket webSocket, int code, @NotNull String reason){
System.out.println("onClosed: " + code + " - " + reason);
super.onClosed(webSocket, code, reason);
}
@Override
public void onClosing(@NotNull WebSocket webSocket, int code, @NotNull String reason){
System.out.println("onClosing: " + code + " - " + reason);
super.onClosing(webSocket, code, reason);
}
@Override
public void onFailure(@NotNull WebSocket webSocket, @NotNull Throwable t, @Nullable Response response){
t.printStackTrace();
super.onFailure(webSocket, t, response);
}
}我没有在ping或pong中重写okhttp3.WebSocketListener的方法。
我怎么能做到呢?
发布于 2022-01-19 13:25:53
OkHttp会自动响应您的请求。你不需要做任何事。
https://stackoverflow.com/questions/70771000
复制相似问题