java pingpong代码
时间: 2024-01-04 09:04:13 浏览: 30
以下是一个使用Java编写的简单的WebSocket ping-pong示例代码:
```java
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.ByteBuffer;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft;
import org.java_websocket.drafts.Draft_6455;
import org.java_websocket.handshake.ServerHandshake;
public class PingPongExample extends WebSocketClient {
public PingPongExample(URI serverUri, Draft draft) {
super(serverUri, draft);
}
@Override
public void onOpen(ServerHandshake handshakedata) {
System.out.println("WebSocket连接已打开");
// 在连接打开后发送ping消息
sendPing();
}
@Override
public void onMessage(String message) {
System.out.println("收到消息: " + message);
// 在收到消息后发送pong消息
sendPong(message);
}
@Override
public void onMessage(ByteBuffer bytes) {
System.out.println("收到字节消息");
// 处理接收到的字节消息
}
@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("WebSocket连接已关闭");
}
@Override
public void onError(Exception ex) {
System.out.println("WebSocket连接出错: " + ex.getMessage());
}
private void sendPing() {
// 创建并发送ping消息
this.sendPing("Ping");
}
private void sendPong(String message) {
// 根据收到的消息创建并发送pong消息
this.sendPong("Pong: " + message);
}
public static void main(String[] args) {
try {
URI serverUri = new URI("ws://localhost:8080/websocket");
Draft draft = new Draft_6455();
PingPongExample client = new PingPongExample(serverUri, draft);
client.connect();
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
```
这个例子使用了Java-WebSocket库来实现WebSocket的客户端。在`onOpen`方法中,连接成功后会发送一个ping消息。在`onMessage`方法中,收到消息后会发送一个pong消息作为回复。你可以根据自己的需求修改和扩展这个例子。注意要将`ws://localhost:8080/websocket`替换为你实际的WebSocket服务器地址。