我正在尝试使用spring boot创建基于websocketed的服务器/客户端应用程序.
服务器接受套接字连接,然后当它收到来自客户端的文本消息时,它将处理它,然后返回一些数据.服务器有一个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服务器.
最佳答案
我相信这就是你要找的东西
这里是客户端..使用org.springframework.web.socket.client.standard.StandardWebSocketClient和其他一些配置.
我相信你可以弄明白其余的;)
干杯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。