WebSocket学习日记一(STOMP,Spring Boot)

1、STOMP协议学习过程

(1)、什么是stomp?主要用来做什么?


(2)unbuntu RabbitMQ 安装 

[E]代表插件完整,可以运行
[e ] 代表需要依赖别的插件运行
注:^@代表 提交,按 Ctrl+@;Linux的shell中\下一行接着上一行;61613是stomp的默认端口;空行也是必须的

订阅者:
nc localhost 61613
CONNECT

^@
.......(这里是打印出服务的信息)

SUBSCRIBE
destination:/queue/test
发布者
nc localhost 61613
CONNECT

^@
.......(这里是打印出服务的信息)

SEND
destination:/queue/test

this is message!
^@

 
  

registry.enableSimpleBroker("/topic", "/user");这句话表示在topic和user这两个域上可以向客户端发消息。



registry.setUserDestinationPrefix("/user");这句话表示给指定用户发送一对一的主题前缀是"/user"。


registry.setApplicationDestinationPrefixes("/app");这句话表示客户单向服务器端发送时的主题上面需要加"/app"作为前缀。

就比如要向这个主题java: @MessageMapping("/hello")  发送新消息,就要 js: stompClient.send("/app/hello"......);加上前缀


stompEndpointRegistry.addEndpoint("/websocket").setAllowedOrigins("*").withSokJS();这个和客户端创建连接时的url有关,其中setAllowedOrigins()方法表示允许连接的域名,withSockJS()方法表示支持以SockJS方式连接服务器。



你可能感兴趣的:(java学习)