websocket消息服务器模块
This commit is contained in:
parent
805d9a2ffa
commit
8a5921f35d
@ -46,6 +46,9 @@ public class WebSocketMsgServiceImpl implements WebSocketMsgService {
|
|||||||
case "CHAT": // 单聊消息
|
case "CHAT": // 单聊消息
|
||||||
handleChatMsg(wsMessage);
|
handleChatMsg(wsMessage);
|
||||||
break;
|
break;
|
||||||
|
case "CLIENT": // 客户端信息
|
||||||
|
setClientInfo(wsMessage);
|
||||||
|
break;
|
||||||
case "BROADCAST": // 广播消息
|
case "BROADCAST": // 广播消息
|
||||||
handleBroadcastMsg(wsMessage);
|
handleBroadcastMsg(wsMessage);
|
||||||
break;
|
break;
|
||||||
@ -169,4 +172,20 @@ public class WebSocketMsgServiceImpl implements WebSocketMsgService {
|
|||||||
// 回复心跳确认
|
// 回复心跳确认
|
||||||
ChatWebSocketServer.sendToUser(senderId, JSON.toJSONString(new WebSocketMessage("HEARTBEAT_ACK", "pong", senderId, null, System.currentTimeMillis())));
|
ChatWebSocketServer.sendToUser(senderId, JSON.toJSONString(new WebSocketMessage("HEARTBEAT_ACK", "pong", senderId, null, System.currentTimeMillis())));
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 示例3:给在线用户设置动态属性(如设备类型)
|
||||||
|
*/
|
||||||
|
public void setClientInfo(WebSocketMessage wsMessage) {
|
||||||
|
String senderId = wsMessage.getSenderId();
|
||||||
|
String data = wsMessage.getData();
|
||||||
|
Map<String, Object> dataStrMap = JSON.parseObject(data, Map.class);
|
||||||
|
WebSocketUser user = ChatWebSocketServer.getOnlineUser(senderId);
|
||||||
|
if (user != null) {
|
||||||
|
for (Map.Entry<String, Object> entry : dataStrMap.entrySet()) {
|
||||||
|
String key = entry.getKey();
|
||||||
|
String value =(String)entry.getValue();
|
||||||
|
user.setDynamicAttr(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -37,8 +37,8 @@ WebSocketMessage消息结构
|
|||||||
接收者ID在指定传输目标时传入,目前暂时不使用
|
接收者ID在指定传输目标时传入,目前暂时不使用
|
||||||
data 字段为消息体,都是json格式
|
data 字段为消息体,都是json格式
|
||||||
消息举例
|
消息举例
|
||||||
{"msgType":"CHAT","data":{"instrid":"abc"},"receiverId":"LIS","timestamp":1755068400000}
|
{"msgType":"CLIENT","data":{"instrid":"abc"},"receiverId":"LIS","timestamp":1755068400000}
|
||||||
{"msgType":"CHAT","data":{"instrid":"abc"}}
|
{"msgType":"CLIENT","data":{"instrid":"abc"}}
|
||||||
消息类型约定
|
消息类型约定
|
||||||
3 业务流程
|
3 业务流程
|
||||||
启动服务器,自动创建websocket服务实例
|
启动服务器,自动创建websocket服务实例
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user