在Java中使用WebSocket
在Java中使用WebSocket,你可以使用Java EE的javax.websocket
包,或者使用其他库如Java-WebSocket
。以下是一个使用Java EE的javax.websocket
包创建WebSocket服务端的简单示例:
首先,创建一个继承自javax.websocket.Endpoint
的WebSocket端点类:
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
@ServerEndpoint("/websocket")
public class WebSocketTest {
@OnOpen
public void onOpen(Session session) {
System.out.println("Connected ... " + session.getId());
}
@OnMessage
public void onMessage(String message, Session session) {
System.out.println("Received message: " + message);
try {
session.getBasicRemote().sendText("Received: " + message);
} catch (IOException e) {
e.printStackTrace();
}
}
@OnClose
public void onClose(Session session, CloseReason closeReason) {
System.out.println("Closed ... " + session.getId());
}
@OnError
public void onError(Session session, Throwable throwable) {
System.out.println("Error ... " + session.getId());
throwable.printStackTrace();
}
}
确保你的服务器支持Java EE的WebSocket API,并且已经配置了端点。如果你使用的是Tomcat,你可能需要添加tomcat7-websocket.jar
到你的类路径中。
然后,你可以使用JavaScript在客户端连接到这个WebSocket:
var ws = new WebSocket("ws://yourserver/websocket");
ws.onopen = function(event) {
console.log("WebSocket connected");
};
ws.onmessage = function(event) {
console.log("Received message: " + event.data);
};
ws.onclose = function(event) {
console.log("WebSocket closed");
};
ws.onerror = function(event) {
console.error("WebSocket error observed:", event.data);
};
// Send a message to the websocket
ws.send("Hello WebSocket!");
确保替换yourserver
为你的服务器地址。这个JavaScript客户端示例会尝试连接到服务器上的/websocket
端点。
评论已关闭