
Spring支持
STOMP以上功能,
WebSocket但 不是必须
使用子协议,您可以处理原始的websocket。当使用原始websocket时,发送的消息缺乏信息,无法使Spring将其路由到特定的消息处理程序方法(我们没有任何消息协议),因此,除了注释您的控制器,您必须实现一个
WebSocketHandler:
public class GreetingHandler extends TextWebSocketHandler { @Override public void handleTextMessage(WebSocketSession session, TextMessage message) { Thread.sleep(3000); // simulated delay TextMessage msg = new TextMessage("Hello, " + message.getPayload() + "!"); session.sendMessage(msg); }}然后将您的处理程序添加到配置中的注册表中(您可以添加多个处理程序并
SockJS用于后备选项):
@Configuration@EnableWebSocketpublic class WebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(greetingHandler(), "/greeting").withSockJS(); } @Bean public WebSocketHandler greetingHandler() { return new GreetingHandler(); }}客户端将是这样的:
var sock = new SockJS('http://localhost:8080/greeting');sock.onmessage = function(e) { console.log('message', e.data);}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)