wangwei 5 rokov pred
rodič
commit
eb307aa159

+ 13 - 3
src/main/java/cn/com/qmth/examcloud/ws/core/WsMessage.java → src/main/java/cn/com/qmth/examcloud/ws/core/MessageIn.java

@@ -3,15 +3,17 @@ package cn.com.qmth.examcloud.ws.core;
 import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
 
 /**
- * websocket 客户端消息
+ * 客户端消息
  *
  * @author WANGWEI
  * @date 2019年11月22日
  * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
  */
-public class WsMessage implements JsonSerializable {
+public class MessageIn implements JsonSerializable {
 
-	private static final long serialVersionUID = 1903102898393732443L;
+	private static final long serialVersionUID = -3461721988846081124L;
+
+	private String sessionId;
 
 	private String key;
 
@@ -23,6 +25,14 @@ public class WsMessage implements JsonSerializable {
 
 	private Object content;
 
+	public String getSessionId() {
+		return sessionId;
+	}
+
+	public void setSessionId(String sessionId) {
+		this.sessionId = sessionId;
+	}
+
 	public String getKey() {
 		return key;
 	}

+ 46 - 0
src/main/java/cn/com/qmth/examcloud/ws/core/MessageOut.java

@@ -0,0 +1,46 @@
+package cn.com.qmth.examcloud.ws.core;
+
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+/**
+ * 服务端消息
+ *
+ * @author WANGWEI
+ * @date 2019年11月22日
+ * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
+ */
+public class MessageOut implements JsonSerializable {
+
+	private static final long serialVersionUID = -2255327250550304236L;
+
+	private String eventType;
+
+	private String eventId;
+
+	private Object content;
+
+	public String getEventType() {
+		return eventType;
+	}
+
+	public void setEventType(String eventType) {
+		this.eventType = eventType;
+	}
+
+	public String getEventId() {
+		return eventId;
+	}
+
+	public void setEventId(String eventId) {
+		this.eventId = eventId;
+	}
+
+	public Object getContent() {
+		return content;
+	}
+
+	public void setContent(Object content) {
+		this.content = content;
+	}
+
+}

+ 5 - 0
src/main/java/cn/com/qmth/examcloud/ws/core/Messagehandler.java

@@ -0,0 +1,5 @@
+package cn.com.qmth.examcloud.ws.core;
+
+public class Messagehandler {
+
+}

+ 14 - 8
src/main/java/cn/com/qmth/examcloud/ws/core/SessionHolder.java

@@ -15,24 +15,30 @@ import com.google.common.collect.Maps;
  */
 public class SessionHolder {
 
-	private static Map<String, Session> sesesionMap = Maps.newConcurrentMap();
+	private static Map<String, Session> IdSesesionMap = Maps.newConcurrentMap();
 
-	public static Session get(String key) {
-		Session session = sesesionMap.get(key);
+	private static Map<Session, String> sesesionIdMap = Maps.newConcurrentMap();
+
+	public static Session getSession(String sessionId) {
+		Session session = IdSesesionMap.get(sessionId);
 		return session;
 	}
 
-	public static void set(String key, Session session) {
-		sesesionMap.put(key, session);
+	public static void setSession(String sessionId, Session session) {
+		IdSesesionMap.put(sessionId, session);
 	}
 
-	public static void del(String key) {
-		Session session = sesesionMap.get(key);
+	public static void delSession(String sessionId) {
+		Session session = IdSesesionMap.get(sessionId);
 		if (null == session) {
 			return;
 		}
 		session = null;
-		sesesionMap.remove(key);
+		IdSesesionMap.remove(sessionId);
+	}
+
+	public String getSessionId(Session session) {
+		return sesesionIdMap.get(session);
 	}
 
 }