1、导入依赖
<dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.3.5</version>
</dependency>
2、编写WebSocketClientTest测试类用于测试
import lombok.extern.slf4j.Slf4j;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import java.net.URI;
import java.net.URISyntaxException;
@Slf4j
public class WsClientTest {
private WebSocketClient webSocketClient = null;
public WsClientTest() {
String url = "ws://127.0.0.1:8090/api/user/task1/";
WebSocketClient webSocketClient = null;
try {
webSocketClient = new WebSocketClient(new URI(url)) {
@Override
public void onOpen(ServerHandshake handshakedata) {
}
@Override
public void onMessage(String message) {
if (!message.equals("pong")&&!message.contains("服务端心跳")) {
log.info(message);
}
}
@Override
public void onClose(int code, String reason, boolean remote) {
}
@Override
public void onError(Exception ex) {
}
};
} catch (URISyntaxException e) {
e.printStackTrace();
}
webSocketClient.connect();
this.webSocketClient = webSocketClient;
}
public synchronized void send() {
this.webSocketClient.send("ping");
}
public static void main(String[] args) {
final WsClientTest wsClientTest = new WsClientTest();
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(Long.parseLong("1000"));
} catch (InterruptedException e) {
e.printStackTrace();
}
wsClientTest.send();
}
}
}).start();
}
}