import jakarta.websocket.*;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/websocket")
public class MyServerEndpoint {
@OnOpen
public void onOpen(Session session) {
}
@OnMessage
public void onMessage(String message, Session session) {
}
@OnClose
public void onClose(Session session) {
}
@OnError
public void onError(Throwable error) {
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
<servlet-name>websocket</servlet-name>
<servlet-class>org.glassfish.websocket.server.ServerEndpointExporter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>websocket</servlet-name>
<url-pattern>/websocket/*</url-pattern>
</servlet-mapping>
</web-app>
import jakarta.websocket.server.ServerEndpointConfig;
import org.glassfish.tyrus.server.Server;
public class WebSocketServer {
public static void main(String[] args) {
String host = "localhost";
int port = 8080;
Server server = new Server(host, port, "/websocket", MyServerEndpoint.class);
server.start();
}
}
script
var socket = new WebSocket("ws://localhost:8080/websocket");
socket.onopen = function() {
};
socket.onmessage = function(event) {
};
socket.onclose = function() {
};
socket.onerror = function(event) {
};