在springboot项目中,学习websocket过程中,使用simpMessagingTemplate遇到的问题:
配置类如下:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketStompConfig implements WebSocketMessageBrokerConfigurer {
/**
* 注册stomp端点
*
* @param registry 注册表
*/
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
// 配置WebSocket端点
// 允许使用socketJs方式访问 即可通过http://IP:PORT/ws来和服务端websocket连接
registry.addEndpoint("/ws")
// .setAllowedOrigins("*")
.setAllowedOriginPatterns("*")
.withSockJS();
}
/**
* 配置消息代理
*
* @param registry 注册表
*/
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
// 配置消息代理
// 订阅Broker名称 user点对点 topic广播即群发
// 表示客户端订阅地址的前缀信息,也就是客户端接收服务端消息的地址的前缀信息
String[] strings = new String[]{"/user","/topic"};
registry.enableSimpleBroker(strings);
// 配置消息目的地前缀
// 全局(客户端)使用的消息前缀
// 指服务端接收地址的前缀,意思就是说客户端给服务端发消息的地址的前缀
registry.setApplicationDestinationPrefixes("/app");
// 点对点使用的前缀 无需配置 默认/user
registry.setUserDestinationPrefix("/user");
}
}
使用的依赖:
<!--webSocket-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
postman中:
ws://localhost:8080/ws/user
ws://localhost:8080/ws/topic
ws://localhost:8080/user
ws://localhost:8080/topic
都无法连接,有时候报错:
Invalid SockJS path '/user' - required to have 3 path segments
请问怎么才能在postman中测试?在postman中实现客户端与服务端通信?或者其他在线测试?不写前端页面