列举一个示例,关于如何使用websocket
时间: 2024-01-23 17:01:42 浏览: 25
好的,以下是一个使用 Java WebSocket API 实现的简单示例:
服务端代码:
```java
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
@ServerEndpoint("/websocket")
public class WebSocketServer {
@OnOpen
public void onOpen(Session session) {
System.out.println("WebSocket opened: " + session.getId());
}
@OnMessage
public void onMessage(String message, Session session) throws IOException {
System.out.println("WebSocket message received: " + message);
session.getBasicRemote().sendText("Received message: " + message);
}
@OnClose
public void onClose(Session session) {
System.out.println("WebSocket closed: " + session.getId());
}
@OnError
public void onError(Session session, Throwable throwable) {
System.out.println("WebSocket error: " + throwable.getMessage());
}
}
```
客户端代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>WebSocket Test</title>
<script>
var socket = new WebSocket("ws://localhost:8080/websocket");
socket.onopen = function(event) {
console.log("WebSocket opened");
}
socket.onmessage = function(event) {
console.log("WebSocket message received: " + event.data);
}
socket.onclose = function(event) {
console.log("WebSocket closed");
}
function sendMessage() {
var message = document.getElementById("message").value;
socket.send(message);
}
</script>
</head>
<body>
<input type="text" id="message" placeholder="Enter message">
<button onclick="sendMessage()">Send</button>
</body>
</html>
```
以上代码实现了一个简单的 WebSocket 通信,服务端监听 `/websocket` 这个地址,并在连接打开、接收到消息、连接关闭、发生错误等事件时分别进行处理。客户端通过 JavaScript WebSocket API 连接到服务端,并在界面上实现了发送消息的功能。