실시간 채팅
-
WebSocket을 이용한 실시간 채팅 구현하기 2: 클라이언트Today I Learned 2022. 12. 21. 10:25
WebSocket을 이용한 실시간 채팅 구현 기록은 다음의 네 단계에 걸쳐 작성할 예정이다. WebSocket을 이용한 실시간 채팅 구현 1: 서버 WebSocket을 이용한 실시간 채팅 구현 2: 클라이언트 WebSocket을 이용한 실시간 채팅 구현 3: STOMP WebSocket을 이용한 실시간 채팅 구현 4: 프로젝트에 적용하기 실시간 채팅을 처리하는 서버에 요청을 전송할 간단한 클라이언트를 React를 이용해 구현했다. 동작은 아래의 화면과 같이 이루어진다. 클라이언트에서는 3개의 채팅방에 접근할 수 있다. 각 채팅방을 열면 입력창이 출력되고, 채팅방과 연결된 모든 세션에 해당 사용자가 채팅방에 입장했다는 메시지가 전달된다. 사용자가 메시지를 입력하고 전송 버튼을 누르면 채팅방과 연결된 모든 ..
-
WebSocket을 이용한 실시간 채팅 구현하기 1: 서버Today I Learned 2022. 12. 18. 23:54
WebSocket을 이용한 실시간 채팅 구현 기록은 다음의 네 단계에 걸쳐 작성할 예정이다. WebSocket을 이용한 실시간 채팅 구현 1: 서버 WebSocket을 이용한 실시간 채팅 구현 2: 클라이언트 WebSocket을 이용한 실시간 채팅 구현 3: STOMP WebSocket을 이용한 실시간 채팅 구현 4: 프로젝트에 적용하기 특정 운동 모집 게시글에 참가하는 사용자들이 사용할 수 있는 각 게시글별 실시간 채팅 기능을 구현하기 위한 WebSocket 사용법을 학습하고 있다. 오늘은 Spring에서 WebSocket을 통해 특정 클라이언트가 서버에 메시지를 전송하면 서버와 연결되어 있는 다른 모든 클라이언트들에게 해당 메시지가 전송되는 서버를 구축하는 것을 실험했다. 전체 소스코드는 다음의 링크..
-
Polling 방식을 이용해 간단한 실시간(?) 채팅 구현하기Today I Learned 2022. 12. 15. 23:54
운동 모집 게시글의 참가자들이 참여할 수 있는 실시간 채팅 페이지 구현에 필요한 정보들을 학습하고 있다. 클라이언트와 서버가 상호 연결을 유지한 채로 데이터를 주고받을 수 있는 WebSocket 방식이 등장하기 이전에는 HTTP 방식을 이용해 마치 실시간으로 통신하는 것처럼 보이도록 하는 Polling 방식을 사용했다고 한다. Polling 방식은 클라이언트가 서버에게 일정한 주기로 요청을 보내 응답을 받아오는 식으로 이루어진다. 실시간으로 발생하는 이벤트가 언제 발생할지 예측할 수 없기 때문에 지속적으로 서버에 요청을 보내야 하는 만큼 클라이언트의 수가 많아지면 요청을 처리하는 서버의 부담이 커지고, 요청을 보내는 주기를 늘릴수록 실시간성이 떨어진다는 문제점이 있다. 하지만 HTTP 통신을 이용하기 때..