wangwei 5 年之前
父节点
当前提交
24e2e48f3b
共有 1 个文件被更改,包括 9 次插入38 次删除
  1. 9 38
      src/main/java/cn/com/qmth/examcloud/ws/core/WebSocketServerEndpoint.java

+ 9 - 38
src/main/java/cn/com/qmth/examcloud/ws/core/WebSocketServerEndpoint.java

@@ -1,27 +1,26 @@
 package cn.com.qmth.examcloud.ws.core;
 
 import java.io.IOException;
-import java.lang.reflect.Method;
 
 import javax.websocket.OnClose;
 import javax.websocket.OnError;
 import javax.websocket.OnMessage;
 import javax.websocket.OnOpen;
 import javax.websocket.Session;
+import javax.websocket.server.PathParam;
 import javax.websocket.server.ServerEndpoint;
 
 import org.springframework.stereotype.Component;
 
 import cn.com.qmth.examcloud.commons.util.DateUtil;
-import cn.com.qmth.examcloud.commons.util.JsonUtil;
 
 @ServerEndpoint("/{path}")
 @Component
 public class WebSocketServerEndpoint {
 
 	@OnOpen
-	public void onOpen(Session session) {
-		System.out.println("onOpen; session=" + session);
+	public void onOpen(Session session, @PathParam("path") String path) {
+		System.out.println("onOpen; session=" + session + "; path=" + path);
 		try {
 			session.getBasicRemote().sendText(DateUtil.chinaNow() + "| fuck");
 		} catch (IOException e) {
@@ -30,47 +29,19 @@ public class WebSocketServerEndpoint {
 	}
 
 	@OnClose
-	public void onClose(Session session) {
-		System.out.println("onClose; session=" + session);
+	public void onClose(Session session, @PathParam("path") String path) {
+		System.out.println("onClose; session=" + session + "; path=" + path);
 	}
 
 	@OnMessage
-	public void onMessage(Session session, String message) {
-		System.out.println("onMessage; session=" + session);
+	public void onMessage(Session session, @PathParam("path") String path, String message) {
+		System.out.println("onMessage; session=" + session + "; path=" + path);
 		System.out.println("onMessage; message=" + message);
-		if (System.currentTimeMillis() > 0) {
-			return;
-		}
-
-		MessageIn messageIn = null;
-		try {
-			messageIn = JsonUtil.fromJson(message, MessageIn.class);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		String path = messageIn.getPath();
-		Method method = MessageHandlerHolder.getMethod(path);
-
-		Object ret = null;
-		try {
-			ret = method.invoke(messageIn);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (null == ret) {
-			try {
-				session.getBasicRemote().sendText(JsonUtil.toJson(ret));
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
 	}
 
 	@OnError
-	public void onError(Session session, Throwable t) {
-		System.out.println("onError; session=" + session);
+	public void onError(Session session, @PathParam("path") String path, Throwable t) {
+		System.out.println("onError; session=" + session + "; path=" + path);
 		t.printStackTrace();
 	}