mvn archetype:generate -DgroupId=com.example.websocket -DartifactId=my-websocket-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false <dependencies> <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.glassfish.tyrus</groupId> <artifactId>tyrus-server</artifactId> <version>1.14</version> </dependency> </dependencies> import javax.websocket.*; import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/websocket") public class MyWebSocketEndpoint { @OnOpen public void onOpen(Session session) { System.out.println("WebSocket opened: " + session.getId()); } @OnMessage public void onMessage(String message, Session session) { System.out.println("Received message: " + message); try { session.getBasicRemote().sendText("Server Echo: " + message); } catch (Exception e) { e.printStackTrace(); } } @OnClose public void onClose(Session session) { System.out.println("WebSocket closed: " + session.getId()); } @OnError public void onError(Throwable error) { System.out.println("WebSocket error: " + error.getMessage()); } } import org.glassfish.tyrus.server.Server; public class ServerApp { public static void main(String[] args) { Server server = new Server("localhost", 8080, "/myapp", MyWebSocketEndpoint.class); try { server.start(); System.out.println("WebSocket server started!"); Thread.sleep(Long.MAX_VALUE); } catch (Exception e) { e.printStackTrace(); } finally { server.stop(); System.out.println("WebSocket server stopped!"); } } } mvn clean install mvn exec:java -Dexec.mainClass="com.example.websocket.ServerApp"


上一篇:
下一篇:
切换中文