使用tomcat8.0.36实现的websocket技术,实现向单个以及全部用户实时推送消息的功能
来源:互联网 发布:火狐淘宝无法登陆 编辑:程序博客网 时间:2024/06/06 16:33
只讲重点,其他的可以查看我的上一篇博客,
首先定义两个全局变量:
private Session session;//该session是websocket的sessionprivate static final Map<String,Object> connections = new HashMap<String,Object>(); //创建一个用来存所有连接过的session,这里的key我放的是userId
获取session是在websocket打开的时候,当关闭的时候,将该用户的key移除即可。
@OnOpen // 成功连接时执行此代码public void onOpen(Session session, EndpointConfig config) {this.session = session;HttpSession httpSession= (HttpSession) config.getUserProperties().get(HttpSession.class.getName());fromUser = (User)httpSession.getAttribute("user");/** * 将连接成功的用户存入connections内 */connections.put(fromUser.getUserId(), session);ac = new ClassPathXmlApplicationContext("beans.xml");hibernateTemplate = ac.getBean("hibernateTemplate", HibernateTemplate.class);System.out.println("------------webSocket is Open------------");}@OnClose // 连接关闭时执行public void onClose() {/** * 当用户下线时,进行移除! */connections.remove(fromUser.getUserId());System.out.println("------------webSocket is onClose------------");}
这样当你获取你想要推送消息的用户的websocket的session时,你就可以这样:
Session toUserSession = (Session)connections.get(toUserId);toUserSession.getBasicRemote().sendText("我在给你推送消息啊!");这样就可以将消息直接推送过去,被推送的用户,只需在前台的js的websocket的
webSocket.onmessage = function(event) //接受客户端消息{ onMessage(event);//在这里可以获取到数据!};如果是给所有人都推送,直接遍历所有的sesion然后挨个推送即可。
0 0
- 使用tomcat8.0.36实现的websocket技术,实现向单个以及全部用户实时推送消息的功能
- 使用Tomcat8实现WebSocket的简单例子
- php实现websocket实时消息推送
- php实现websocket实时消息推送
- 【反ajax】webSocket实现实时推送功能
- 【反ajax】webSocket实现实时推送功能
- 使用EventSource实现页面消息推送 与 websocket 的区别
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送 【转】
- 原 Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- Spring+Websocket实现消息的推送
- cocoscreate 官方例子说明 02_ui_01_widget_AlignOnceWidget by:adady
- 安卓谷歌电子市场学习笔记系列——ViewHolder及convertView
- msp430g2533之iic(gpio模拟iic)
- OpenJudge 2705:扩号匹配问题
- 3D玫瑰
- 使用tomcat8.0.36实现的websocket技术,实现向单个以及全部用户实时推送消息的功能
- 常用库的混淆
- Linux下的SSH端口转发
- Web系统大规模并发
- Android xml常用
- Linux线程编程 - 线程同步机制之互斥锁
- 图形验证码的实现
- ListView加载更多的最简单实现方式
- DispatchMessage - synchronous or asynchronous