웹소켓 ( Web Socket )
프로젝트 버전 변경, 한글 인코딩 설정, 메이븐 프로젝트 업데이트, 이전에 만들었던 프로젝트와 /root 경로 겹치면 Servers > server.xml 에서 이전 경로 주석처리까지 진행
com.care.root 하위에 TestSocket.java 파일 생성하여 소켓에 대한 설정을 해줄 것임
servlet-context.xml > 하단에 Namespaces 클릭 > websocket 체크 > Source 로 이동
afterConnectionsEstablished() : 클라이언트가 연동되면 실행
handleTextMessage() : 메세지를 받으면 실행
afterConnectionClosed() : 연결이 끊겼을 경우 실행
rec_data : 내용을 수신하기 위한 div
send_msg : 데이터를 보내기 위한 용도의 textarea
wsUri : 웹소켓 경로 설정 ( /chat 경로가 아까 servlet-context.xml 에서 설정한 경로 )
onMessage : 서버로부터 받은 값을 여기에 저장하겠다
onclose : 서버가 끊기면 작동할 로직
bean 에 추가한 경로 : org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor
위 작업을 진행해주지 않으면 httpsession 의 값과 websocket 의 session 의 값을 서로 다른 세션이기 때문에 httpsession 을 설정해줬다 하더라고 websocket 의 session 에서는 해당 값을 꺼내서 확인할 수 없다.
WebSocketSession 의 getAttributes() 메소드는 반환 값을 Map 형태로 돌려준다
>> 위 방식대로 진행하면 메세지를 출력할 때 A 가 입력한 메세지가 B와 C 에게 도착할 때 B와 C 는 자신이 보낸 메세지로 보이게 되므로 보낸 사람의 이름으로 메세지가 도착하는 로직이 추가로 들어가야 한다
엔터 값 == 13
'BE > Spring' 카테고리의 다른 글
[Spring] 연습 프로젝트 (1) | 2024.05.17 |
---|---|
[Spring] URL 로 데이터 넘겨받기 (0) | 2024.05.16 |
[Spring] Ajax, RestController (0) | 2024.05.16 |
[Spring] 스케쥴러 ( Scheduler ) (0) | 2024.05.16 |
[Spring] 이메일 전송 API, 이메일 인증 구현 (0) | 2024.05.16 |