|
|
@@ -1,5 +1,6 @@
|
|
|
package com.its.op.websocket;
|
|
|
|
|
|
+import com.its.utils.ItsUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
@@ -8,6 +9,7 @@ import org.springframework.web.socket.TextMessage;
|
|
|
import org.springframework.web.socket.WebSocketSession;
|
|
|
import org.springframework.web.socket.handler.TextWebSocketHandler;
|
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@Slf4j
|
|
|
@@ -41,20 +43,21 @@ public class ItsWebSocketHandler extends TextWebSocketHandler {
|
|
|
@Override
|
|
|
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
|
|
|
log.info("handleTextMessage: " + session.getRemoteAddress() + ", Uri[" + session.getUri() + "], UUID[" + session.getId() + "], message[" + message.getPayload() + "]");
|
|
|
- /*List<String> requests = ItsUtils.split(message.getPayload(), ":");
|
|
|
- if (requests.size() != 2) {
|
|
|
- log.error("Request data parsing error: {}", requests);
|
|
|
- session.close();
|
|
|
- return;
|
|
|
- }
|
|
|
-*/
|
|
|
+ log.info("Payload: {}", message.getPayload());
|
|
|
ItsWebSocketSession sessionClient = ItsWebSocketSessionManager.getInstance().getSession(session);
|
|
|
if (sessionClient == null) {
|
|
|
log.error("Request session not found: {}", session);
|
|
|
session.close();
|
|
|
return;
|
|
|
}
|
|
|
- log.info("Payload: {}", message.getPayload());
|
|
|
+ List<String> requests = ItsUtils.split(message.getPayload(), ":");
|
|
|
+ if (requests.size() == 2) {
|
|
|
+ String command = requests.get(0);
|
|
|
+ String value = requests.get(1);
|
|
|
+ if ("groupId".equals(command)) {
|
|
|
+ sessionClient.setGroupId(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//클라이언트 연결을 끊었을 때 실행
|