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");
}
}
答案 0 :(得分:0)
只需将您的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?"));
“编程”是什么意思?例如,您可以为自己创建协议以及如何处理消息。