java 实现websocket客户端向服务端发送指令及接收服务端返回信息并打印出来,不使用读取控制台输入的方法
时间: 2024-05-06 17:22:09 浏览: 90
websocktet客户端和服务端
以下是一个简单的Java WebSocket客户端实现,它可以向WebSocket服务器发送指令,并接收服务器返回的信息并将其打印出来。这个实现使用了Java WebSocket API来处理WebSocket连接。
```java
import javax.websocket.*;
import java.net.URI;
@ClientEndpoint
public class WebSocketClient {
private Session session;
@OnOpen
public void onOpen(Session session) {
this.session = session;
System.out.println("Connected to server");
}
@OnMessage
public void onMessage(String message) {
System.out.println("Received message from server: " + message);
}
public void sendMessage(String message) {
this.session.getAsyncRemote().sendText(message);
}
public static void main(String[] args) throws Exception {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
WebSocketClient client = new WebSocketClient();
container.connectToServer(client, new URI("ws://localhost:8080/"));
client.sendMessage("Hello server!");
}
}
```
在这个实现中,我们定义了一个WebSocketClient类,它包含一个WebSocket会话(session)和一些方法来处理连接和消息。当连接打开时,onOpen方法将被调用,并打印一条连接到服务器的消息。当客户端接收到来自服务器的消息时,onMessage方法将被调用,并打印消息。
我们还定义了一个sendMessage方法,该方法将指定的文本消息发送到服务器。
在main方法中,我们使用Java WebSocket API的WebSocketContainer接口来创建WebSocket客户端,并连接到指定的URI。然后我们调用sendMessage方法向服务器发送一条消息。
使用这个实现,您可以轻松地创建WebSocket客户端,并与WebSocket服务器通信。您可以在sendMessage方法中指定要发送的消息,而不必从控制台读取输入。
阅读全文