1010import lombok .extern .slf4j .Slf4j ;
1111import org .springframework .stereotype .Component ;
1212import org .springframework .web .socket .CloseStatus ;
13+ import org .springframework .web .socket .TextMessage ;
1314import org .springframework .web .socket .WebSocketMessage ;
1415import org .springframework .web .socket .WebSocketSession ;
1516import org .springframework .web .socket .handler .TextWebSocketHandler ;
@@ -38,7 +39,7 @@ public class WebSocketChatHandler extends TextWebSocketHandler {
3839
3940 // 연결
4041 @ Override
41- public void afterConnectionEstablished (WebSocketSession session ) throws Exception {
42+ public void afterConnectionEstablished (WebSocketSession session ) throws IOException {
4243 String query = session .getUri ().getQuery ();
4344 log .info ("{} connected" , query );
4445
@@ -50,6 +51,9 @@ public void afterConnectionEstablished(WebSocketSession session) throws Exceptio
5051 Map <String , String > queryParamMap = this .parseQueryParam (query );
5152 long openChatId = Long .parseLong (queryParamMap .get (OPEN_CHAT_ID ));
5253 if (this .checkNickname (openChatId , queryParamMap .get (NICKNAME ))) {
54+ String string = OpenChatException .DUPLICATED_NICKNAME .getMessage ();
55+ byte [] bytes = string .getBytes ();
56+ session .sendMessage (new TextMessage (bytes ));
5357 throw new CustomException (OpenChatException .DUPLICATED_NICKNAME );
5458 }
5559
@@ -127,6 +131,9 @@ private boolean checkNickname(long openChatId, String nickname) {
127131 throw new CustomException (OpenChatException .NOT_FOUND_OPEN_CHAT );
128132 }
129133 return webSocketSessions .stream ()
130- .anyMatch (webSocketSession -> webSocketSession .getAttributes ().get (NICKNAME ).equals (nickname ));
134+ .anyMatch (webSocketSession -> webSocketSession .getAttributes ()
135+ .get (NICKNAME )
136+ .equals (nickname )
137+ );
131138 }
132139}
0 commit comments