[英]How can I using ConcurrentWebSocketSessionDecorator to send my message with websocket
[英]websocket push message programmatically using java code
java 8 Spring 5 mvc Websocket處理程序。
它如何以編程方式(使用javacode)將websocket消息推送到客戶端?
我遵循以下示例。
http://boraji.com/spring-mvc-5-handling-websocket-message-example
創建TextWebsocketHandler
。
@Component
public class MyWebSocketHandler extends TextWebSocketHandler {
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message)
throws Exception {
String clientMessage = message.getPayload();
if (clientMessage.startsWith("Hello") || clientMessage.startsWith("Hi")) {
session.sendMessage(new TextMessage("Hello! What can i do for you?"));
} else {
session.sendMessage(
new TextMessage("This is a simple hello world example of using Spring WebSocket."));
}
}
}
然后將其傳遞給websocket configurere
@Configuration
@EnableWebSocket
@ComponentScan("com.boraji.tutorial.spring.websocket")
public class WebSocketConfig implements WebSocketConfigurer {
@Autowired
private MyWebSocketHandler myWebSocketHandler;
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myWebSocketHandler, "/socketHandler");
}
}
只需將WebSocketSession
保存在代碼中的某個位置,然后在想將任何內容發送回客戶端時調用sendMessage(TextMessage m)
。
例如,當在處理程序中調用OnOpen
方法時,您可以保存WebSocketSession引用。 該引用作為參數傳遞。
但是無論如何,您的代碼只是在執行以下操作:
session.sendMessage(
new TextMessage("This is a simple hello world example of using Spring WebSocket."));
在
session.sendMessage(new TextMessage("Hello! What can i do for you?"));
您以編程方式是什么意思? 例如,您可以為自己創建協議以及如何處理消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.