분류 전체보기

앞에서 만든 sql 테이블을 활용해 mbti 데이터를 긁어온다고 생각할때웹 소켓에서는 사용자가 찾는 mbti와 일치한 사용자를 찾아서 해당 사용자의 정보를 보내주면 될것같아서사용자의 MBTI정보를 웹소켓에 저장해 두었다 이제 선택한 mbti와 매칭을 하는중인 유저들의 mbti를 비교해서 일치하면 매칭시켜주는 코드를 설계해보자  우선 코드를 작성하는데에 집중해 한줄적을때마다 캡처하지 못한점 양해 바란다.원래는 MBTIS에 user를 넣으려했지만 JSON 형식으로 바꿀때 null인 변수들이 있어서 오류가 나기때문에새로 Test용으로 DTO를 하나더 만들어서 유저의 mbti와 프로필사진, 이름만 넣어주도록 만들었다매칭 시작을 누른 유저들의 mbti를 저장해놓고새로운 유저가 매칭시작을 누를때 이미 있는 유저들중..
이번에는 파이널 프로젝트의 핵심인 매칭 시스템 구현을 생각해보았다매칭또한 양방향통신이 필요하기 때문에 웹 소켓을 활용해봐야겠다고 생각했다 우선 채팅과 같은 웹소켓 서버를 사용하면 혼잡해지기 때문에 MatchHandler를 따로 만들어주고registry에 url을 추가해주었다 매칭 시스템은 들어올때 CLIENTS (유저 정보) 뿐만아니라 MBTI로 매칭시켜줄거기 떄문에 유저의 MBTI도 같이 저장해주도록 하자 CLIENTS와 MBTI로 나누는 이유는 CLIENTS에는 메세지를 보낼때 사용할 Client webSocketSession 을 담아 주기 위해서 이다그리고 매칭 시스템은 매칭을 시작할때만 사용자 정보가 필요하기떄문에 웹소켓 연결시에는 아무것도 할필요가 없다 고로 afterConnectionEstab..
연결 종료시도 연결 성공과 똑같이 설계!! 메세지 를 주고 받는것도 마찬가지로 사용자가 보낸 message를 message에 담아주고 전송하면 끝 여담으로 HttpSession을 받아오는방법은 HandshakeInterceptor 를 사용해 사용자가 웹소켓에 들어가기전 낚아채 HttpSession을 가져와 WebSocketSession의 Attribute에 principal을 넣어주었다 나머지 시간은 채팅방 css꾸미는데 사용!!
저번 시간에 이어서 웹 소켓 연결시 작동되는 메소드 afterConnectionEstablished 를 활용하여 채팅방에 사람이 들어오면 알려주는 코드를 작성해보자  TestUser는 HttpSession의 Attribute에서 가져온것으로 추후에 다시 설명하도록 하겠다 우선 웹 소켓 연결시 유저의 정보를 저장해야할 배열이 필요하기에 멀티쓰레딩 환경에 적합한 ConcurrentHashMap에 client의 sessionID 를 key로 client의 session을 담아두도록 하자이제는 사용자가 웹소켓에 들어올때마다 들어왔다는 메세지를 보내기위해 코드를 작성할건데여러번 고민을 해본 결과 채팅이 갈때 보내야하는 정보는 메세지를 보낸 유저의 이름, 유저의 프로필사진, 메세지 내용 이 세가지만 있으면 되겠다고..
신슨형의 정상화
'분류 전체보기' 카테고리의 글 목록 (15 Page)