|
@@ -8,7 +8,9 @@ import com.corundumstudio.socketio.annotation.OnDisconnect;
|
|
|
import com.corundumstudio.socketio.annotation.OnEvent;
|
|
|
import com.corundumstudio.socketio.protocol.Packet;
|
|
|
import com.corundumstudio.socketio.protocol.PacketType;
|
|
|
+import com.corundumstudio.socketio.store.pubsub.DispatchMessage;
|
|
|
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
|
|
|
+import com.corundumstudio.socketio.store.pubsub.PubSubType;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.ym.mec.biz.service.WsConnectService;
|
|
|
import com.ym.mec.web.support.anno.NamespaceReference;
|
|
@@ -78,7 +80,7 @@ public class WhiteboardHandler {
|
|
|
* @param eventName 事件名称
|
|
|
* @param data 发送数据
|
|
|
*/
|
|
|
- public void dispatchMessage(SocketIOClient client, String roomId, String eventName, List<Object> data) {
|
|
|
+ public void dispatchMessage(SocketIOClient client, String roomId, String eventName, PacketType subType, List<Object> data) {
|
|
|
|
|
|
// 分发消息(当前服务不会向client推送自己分发出去的消息)
|
|
|
try {
|
|
@@ -88,12 +90,12 @@ public class WhiteboardHandler {
|
|
|
|
|
|
// 发送数据包
|
|
|
Packet packet = new Packet(PacketType.MESSAGE);
|
|
|
- packet.setSubType(PacketType.EVENT);
|
|
|
+ packet.setSubType(subType);
|
|
|
packet.setName(eventName);
|
|
|
packet.setNsp(namespace);
|
|
|
packet.setData(data);
|
|
|
|
|
|
- //pubSubStore.publish(PubSubType.DISPATCH, new DispatchMessage(roomId, packet, namespace));
|
|
|
+ pubSubStore.publish(PubSubType.DISPATCH, new DispatchMessage(roomId, packet, namespace));
|
|
|
} catch (Exception e) {
|
|
|
log.error("PubSubType.DISPATCH roomId={}, sid={}", roomId, client.getSessionId(), e);
|
|
|
}
|
|
@@ -166,7 +168,7 @@ public class WhiteboardHandler {
|
|
|
}
|
|
|
|
|
|
// 消息分发
|
|
|
- dispatchMessage(client, roomId, EVENT_ROOM_USER_CHANGE, Collections.singletonList(collect));
|
|
|
+ dispatchMessage(client, roomId, EVENT_ROOM_USER_CHANGE, PacketType.EVENT, Collections.singletonList(collect));
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNoneBlank(roomId, userId, clientType)) {
|
|
@@ -231,7 +233,7 @@ public class WhiteboardHandler {
|
|
|
}
|
|
|
|
|
|
// 消息分发
|
|
|
- dispatchMessage(client, roomId, EVENT_JOIN_ROOM, Collections.singletonList(roomId));
|
|
|
+ dispatchMessage(client, roomId, EVENT_JOIN_ROOM, PacketType.EVENT, Collections.singletonList(roomId));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -250,7 +252,7 @@ public class WhiteboardHandler {
|
|
|
roomOperations.sendEvent(EVENT_CLIENT_BROADCAST, encryptedData, iv);
|
|
|
|
|
|
// 消息分发
|
|
|
- dispatchMessage(client, roomId, EVENT_CLIENT_BROADCAST, Arrays.asList(encryptedData, iv));
|
|
|
+ dispatchMessage(client, roomId, EVENT_CLIENT_BROADCAST, PacketType.BINARY_EVENT, Arrays.asList(encryptedData, iv));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -269,6 +271,6 @@ public class WhiteboardHandler {
|
|
|
roomOperations.sendEvent(EVENT_CLIENT_BROADCAST, encryptedData, iv);
|
|
|
|
|
|
// 消息分发
|
|
|
- dispatchMessage(client, roomId, EVENT_CLIENT_BROADCAST, Arrays.asList(encryptedData, iv));
|
|
|
+ dispatchMessage(client, roomId, EVENT_CLIENT_BROADCAST, PacketType.BINARY_EVENT, Arrays.asList(encryptedData, iv));
|
|
|
}
|
|
|
}
|