import javax.websocket.*;
@ClientEndpoint
public class WebSocketClient {
@OnOpen
public void onOpen(Session session) {
System.out.println("Connection opened: " + session.getId());
}
@OnMessage
public void onMessage(String message) {
System.out.println("Received message: " + message);
}
@OnClose
public void onClose(Session session, CloseReason reason) {
System.out.println("Connection closed: " + session.getId() + ", Reason: " + reason.getReasonPhrase());
}
public static void main(String[] args) {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
String uri = "ws://localhost:8080/myEndpoint";
try {
Session session = container.connectToServer(WebSocketClient.class, URI.create(uri));
session.getBasicRemote().sendText("Hello WebSocket Server!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-client</artifactId>
<version>1.16</version>
</dependency>
<init-param>
<param-name>javax.websocket.EndpointFactory</param-name>
<param-value>org.glassfish.tyrus.server.ServerEndpointFactory</param-value>
</init-param>