是使用JAVA发给客户端
时间: 2024-04-23 22:22:59 浏览: 31
好的,那么您可以使用Java的WebSocket API来实现WebSocket连接和发送消息。以下是一个简单的示例代码:
```java
import java.net.URI;
import java.net.URISyntaxException;
import javax.websocket.ClientEndpoint;
import javax.websocket.CloseReason;
import javax.websocket.ContainerProvider;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
@ClientEndpoint
public class MyWebSocketClient {
private Session session;
@OnOpen
public void onOpen(Session session) {
this.session = session;
System.out.println("WebSocket连接已经建立!");
// 在连接成功后,发送一条预设的信息
sendMessage("这是我想要发送的第一条信息!");
}
@OnMessage
public void onMessage(String message) {
System.out.println("接收到消息:" + message);
}
@OnError
public void onError(Throwable t) {
t.printStackTrace();
}
@OnClose
public void onClose(CloseReason reason) {
System.out.println("WebSocket连接关闭:" + reason);
}
public void sendMessage(String message) {
try {
this.session.getBasicRemote().sendText(message);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
String uri = "ws://example.com";
try {
MyWebSocketClient client = new MyWebSocketClient();
container.connectToServer(client, new URI(uri));
// 定时发送数据
while (true) {
Thread.sleep(30000);
client.sendMessage("这是一个定时发送的数据!");
}
} catch (URISyntaxException | InterruptedException ex) {
ex.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
```
在上述代码中,我们通过`@ClientEndpoint`注解标记这是一个WebSocket客户端。在`onOpen`方法中,我们发送了一条预设的信息,并且在`onMessage`方法中,处理接收到的消息。在`sendMessage`方法中,我们通过`session.getBasicRemote().sendText()`方法来发送消息。最后,我们在`main`方法中,通过`container.connectToServer()`方法来连接WebSocket服务器,并通过`while`循环定时发送数据。
请注意,上述代码仅供参考,具体实现需要根据您的实际情况进行调整。
阅读全文