spring4 集成WebSocket
2017-05-09 19:38
295 查看
首先创建接收消息器
public class MarcoHandler extends AbstractWebSocketHandler {
private Logger log = LoggerFactory.getLogger(MarcoHandler.class);
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
log.info(message.getPayload());
System.out.println(message.getPayload());
Thread.sleep(2000);
session.sendMessage(new TextMessage("Polo!"));
}
}
websock配置文件
.withSockJS() 启用SockJS
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(marcoHandler(), "/marco").withSockJS();
}
@Bean
public MarcoHandler marcoHandler(){
return new MarcoHandler();
}
}
客户端 js
因为使用的SockJS 所以需要引用SockJS.js
<script src="http://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.min.js"></script>
这就OK了,太粗浅了!!
public class MarcoHandler extends AbstractWebSocketHandler {
private Logger log = LoggerFactory.getLogger(MarcoHandler.class);
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
log.info(message.getPayload());
System.out.println(message.getPayload());
Thread.sleep(2000);
session.sendMessage(new TextMessage("Polo!"));
}
}
websock配置文件
.withSockJS() 启用SockJS
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(marcoHandler(), "/marco").withSockJS();
}
@Bean
public MarcoHandler marcoHandler(){
return new MarcoHandler();
}
}
客户端 js
因为使用的SockJS 所以需要引用SockJS.js
<script src="http://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.min.js"></script>
<script type="text/javascript"> //原生的WebSocket调用方式 //var url = 'ws://'+window.location.host+'/spittr/marco'; //var sock = new WebSocket(url); var url = 'marco'; var sock = new SockJS(url); sock.onopen = function(){ console.log('Opening'); sayMaro(); } sock.onmessage= function(e){ console.log('Received message:',e.data); setTimeout(function(){ sayMaro(); },2000); } sock.onclose = function(){ console.log('Closing'); } function sayMaro(){ console.log('ending Marco!'); sock.send("坏蛋!"); } </script>
这就OK了,太粗浅了!!
相关文章推荐
- Spring4.3.3 WebSocket-STOMP协议集成 (1)-WebSocket协议通讯小栗子
- springboot 集成 websocket
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南
- spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- Spring-boot集成Netty做websocket服务端
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- Spring4.3.3 WebSocket-STOMP协议集成 (1.1)-WebSocket协议通讯小栗子
- spring boot 集成websocket实现实时推送
- Spring4.3.3 WebSocket-STOMP协议集成 (2)-WebSocket-stomp子协议通讯小栗子
- SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送
- SpringBoot 集成WebSocket广播模式
- SpringMvc+Mybatis企业级集成Websocket在线聊天
- SpringBoot集成WebSocket【基于STOMP协议】进行点对点[一对一]和广播[一对多]实时推送
- Spring4.3.3 WebSocket-STOMP协议集成 (2.1)-WebSocket-stomp子协议通讯小栗子
- Spring集成webSocket页面访问404问题的解决方法
- 单点登录cas与权限管理框架shiro集成-spring项目方式
- 通过struts2-spring-plugin集成Struts2和Spring,报错:ClassNotFound:*Interceptor.......
- Spring Boot 集成 批处理框架Spring batch