본문 바로가기

웹소켓2

Spring MVC에 웹소켓 집어넣기 3 주말에 특강 와주시는 현직 강사님의 도움으로 방장이 나갔을 때 메시지가 전송이 안 되던 이유를 알아냈다. 세션 리스트에서 각 세션마다 메시지를 보내주기 때문에 세션 길이만큼 포문이 회전하는데 팀원이 나가고 방장이 세션에 존재할 경우 리스트 0번째인 방장은 그대로 존재하기 때문에 메시지가 전송된다. 그런데 방장이 나가고 팀원이 세션에 존재할 경우 리스트 0번째인 방장이 나가서 바로 catch가 되어 메시지 전송이 안 됨.!!!!!!!!!!!!!!!! 그래서 !!!!!!!! 트라이캐치를 안에 한번 더 넣어서 돌렸다!!!!!!!!!!!!!! 이제 된다!!!!!!!!!!!!! 와!!!!!!!!!!!!!!!!!!!!!!!!!!! 2021. 7. 31.
Spring MVC에 웹소켓 집어넣기 2 쓰는걸 잊고 있었다. 제 때 적어두면 시간대가 같이 남아있어서 언제 뭘 했는지 알 수 있어서 좋은데 제 때 기록하기는 쉽지 않은듯... 다중 채팅방을 구현하고 싶었기 때문에 Map을 사용해서 세션을 나눠줬다. 웹소켓은 하나의 세션만 가지고 있기 때문에 접속하는 친구들에게 라벨을 붙여서 나눠주는 방식으로 구성했다. key값에 해당하는 String은 방 번호를 집어넣었고, value값에 해당하는 List는 같은 방에 들어간 사람들로 구성된 리스트! 웹소켓 핸들러에서 대부분의 행동을 수행하게 되는데 핸들러가 상속받는 TextWebSocketHandler에서 제공해주는 세 개의 메서드에서 모두 세션을 구분해주어야 하기 때문에 상단 전역변수로 선언해주었다. 방에 접속하는것을 알리는 첫번째 메서드 방에 접속한 유저.. 2021. 7. 29.