我正在尝试使用Spring Boot制作一个基于WebSocket的服务器/客户端应用程序。
服务器接受套接字连接,当从客户端接收到文本消息时,它将对其进行处理,然后返回一些数据。服务器具有能够正确处理请求的WebSocket处理程序。
public class DataWebSocketHandler extends TextWebSocketHandler {
private static Logger logger = LoggerFactory.getLogger(DataWebSocketHandler.class);
private final DataService dataService;
@Autowired
public DataWebSocketHandler(DataService dataService) {
this.dataService = dataService;
}
@Override
public void afterConnectionEstablished(WebSocketSession session) {
logger.debug("Opened new session in instance " + this);
}
@Override
public void handleTextMessage(WebSocketSession session, TextMessage message)
throws Exception {
byte[] payload = this.dataService.getDataBytes(message.getPayload());
session.sendMessage(new BinaryMessage(payload));
}
@Override
public void handleTransportError(WebSocketSession session, Throwable exception)
throws Exception {
session.close(CloseStatus.SERVER_ERROR);
}
}
并注册
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(dataWebSocketHandler(), "/data").withSockJS();
}
我的问题是,我不知道如何编写一个客户端来连接服务器(假设我已经正确编写了服务器),以及如何在客户端上发送消息和接收数据。我找不到这方面的示例,但有很多广播给所有订阅套接字的客户端的websocket示例,而我不想要这样的功能。服务器使用嵌入式tomcat服务器。