系统消息指登录系统的站内消息提醒,平台采用Websocket技术,服务端主动向客户端推送数据,实现系统向在线用户推送消息,可群发,可对指定用户发送系统产生消息后主动通知客户端,而不是传统的客户端定时刷新服务器的机制,可以极大的提升系统性能。
平台的“系统通知”模块默认集成了Websocket,发送通知公告的时候可以及时提醒用户。业务模块也可以利用这种机制,实现对用户的及时提醒。
业务如何调用Websocket发送消息?
@Resource
private WebSocket webSocket;
其中消息接口中的cmd为消息类型,例如topic表示广播消息,每个在线用户都可以收到,user表示用户消息,指定用户才能收到,可以自定义cmd类型
1、发送全体消息
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC);
obj.put(WebsocketConst.MSG_ID,“10203035”);//业务ID
obj.put(WebsocketConst.MSG_TXT,“消息标题xxxxxxx”);
webSocket.sendAllMessage(obj.toJSONString());//发送消息
2、按用户发送消息
String userIds = “001,002,003”; //多个用户用,分割
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER);
obj.put(WebsocketConst.MSG_ID,“10203035”);//业务ID
obj.put(WebsocketConst.MSG_TXT,“消息标题xxxxxxx”);
webSocket.sendMessage(userIds, obj.toJSONString());//发送消息
消息提醒展示,在系统页面右上方会自动提醒消息数量