websocket - 无法在 windows 命令上使用 wscat 订阅目的地
问题描述
我开始构建 websocket 应用程序。我正在为 websocket 后端使用一个 Spring Boot 应用程序,需要帮助了解哪个是使用 wscat 订阅特定目的地的正确命令,我正在使用 @SendToUser,目前它能够在 CustomHandshakeHandler 中注册用户
public class CustomHandshakeHandler extends DefaultHandshakeHandler {
@Override
protected Principal determineUser(ServerHttpRequest request,
WebSocketHandler wsHandler,
Map<String, Object> attributes) {
LOGGER.info(request.getBody().toString());
}}
用命令
wscat -c ws://localhost:8080/ws
但是我需要调用下面的处理程序,我不确定是使用 wscat 调用的正确方法
@MessageMapping("/ws")
@SendToUser("/ws")
public String recieveStartRequest(@Payload String message, Principal principal) {
LOGGER.info("Received greeting message {} from {}", message, principal.getName());
return "Hello world !";
}
在调试中我可以发现
clientInboundChannel added UserDestinationMessageHandler[DefaultUserDestinationResolver[prefix=/user/]]
brokerChannel added UserDestinationMessageHandler[DefaultUserDestinationResolver[prefix=/user/]]
但是当我需要调用上述消息处理程序时,我可以将@Payload String 消息用于特定数据
解决方案
推荐阅读
- flashing - 用于 Codesys 的闪烁小猎犬骨头
- php - 在 Visual Studio Code 中向 PHP 语言添加函数
- ios - VS for Mac 上的 Xamarin - iOS 构建失败资源规则已在 Mac OS X >= 10.10 中弃用!或无效的资源规范规则
- pytorch - 线性层输入大小 Pytorch
- c# - .net 核心中是否有任何公共 MemberNotNull/MemberNotNullWhen 属性
- java - UserDetailsService 用户名是否必须与合同中的 UserDetails 用户名相同?
- java - 如何在分页和使用 order by 时列出 Google Drive API v3 上的所有根文件夹和共享?
- javascript - 我的局部变量没有更新全局变量?
- python - 为什么我的网页抓取结果在循环浏览每个网页后不会打印?
- javascript - node.js 发布方法 req.body 未定义,即使使用 body-parser