java发送websocket请求
时间: 2023-11-03 07:05:02 浏览: 31
可以使用Java中的WebSocket API来发送WebSocket请求。以下是一个简单的示例:
```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.WebSocket;
import java.nio.ByteBuffer;
import java.util.concurrent.CompletionStage;
public class WebSocketClient {
public static void main(String[] args) throws Exception {
HttpClient httpClient = HttpClient.newHttpClient();
WebSocket webSocket = httpClient.newWebSocketBuilder()
.buildAsync(URI.create("wss://example.com/websocket"), new WebSocket.Listener() {
@Override
public void onOpen(WebSocket webSocket) {
System.out.println("WebSocket opened");
webSocket.sendText("Hello, server!");
}
@Override
public CompletionStage<?> onText(WebSocket webSocket, CharSequence data, boolean last) {
System.out.println("Received text: " + data);
return null;
}
@Override
public CompletionStage<?> onClose(WebSocket webSocket, int statusCode, String reason) {
System.out.println("WebSocket closed: " + statusCode + " " + reason);
return null;
}
@Override
public CompletionStage<?> onError(WebSocket webSocket, Throwable error) {
System.err.println("WebSocket error");
error.printStackTrace(System.err);
return null;
}
}).join();
Thread.sleep(5000);
webSocket.sendBinary(ByteBuffer.wrap(new byte[]{1, 2, 3}));
Thread.sleep(5000);
webSocket.sendClose(WebSocket.NORMAL_CLOSURE, "Goodbye!");
Thread.sleep(5000);
}
}
```
这个示例使用Java 11中的HttpClient和WebSocket API来建立一个WebSocket连接,并发送一些文本和二进制数据,然后关闭连接。你需要替换 `wss://example.com/websocket` 为你的WebSocket服务器的地址。