1. 程式人生 > >spring boot(二)websocket

spring boot(二)websocket

請求 服務器 sel websocket send ket 內置 ble oid

spring boot 與 webSocket

1. 廣播式

1. 在配置類中使用@EnableWebSocketMessageBroker開啟websocket支持。

StompEndpointRegistry.addEndpoint(“/endpointWisely”).withSocketJS(); //註冊STOMP協議的節點,配置制定的url

StompEndpointRegistry.enableSimpleBroker(“/topic”); //配置消息代理,也是服務端發送消息的url前綴

2.控制器中

@Controller

public class WsController{

@MessageMapping(“/hello”) //瀏覽器請求路徑

@SendTo(“/topic/getResponse”)

public WiselyResponse say(WiselyMessage message){

return new WiselyResponse(“hello”+message);

}

3.頁面JS中

var socket = new SockJS(‘/endpointWisely’); //對應config中配置的節點url

stompClient.subscribe(‘/topic/getResponse’) //訂閱,瀏覽器—>服務器,對應controller中@sendTo註解的路徑

stompClient.send(‘/hello’) //發送消息,服務器—>瀏覽器,對應controller中@MessageMapping註解的路徑

2.點對點式

SimpMessagingTemplate是Spring-WebSocket內置的一個消息發送工具,可以將消息發送到指定的客戶端。

@Controller

public class WsController{

@Autowired

private SimpMessagingTemplate simpMessagingTemplate;

@MessageMapping(“/point2p”) //瀏覽器請求路徑

public void say(String message){

simpMessagingTemplate.convertAndSendToUser(“接受消息的用戶”,”/topic/getResponse”, message);

}

}

且js中路徑stompClient.subscribe(‘/user/topic/getResponse’),多了一個/user,表示發送消息到指定用戶。

spring boot(二)websocket