[항해 99] TIL D-46
2022. 5. 4. 03:17ㆍHanghae99/TIL
Today I Learned
- 실전프로젝트 기획
- 로그인 없이 채팅기능 스터디 + 구현
많은 시간을 기획에 투자하고 개발에 필요한 레퍼런스를 보고 스터디 하며 기능 구현을 준비해야한다.
(기획에 투자한 시간만큼 나중에 가서 수정할 부분이 적어질거라고 예상된다.)
+ ) 기획 추가
- MZ 세대 신조어 딕셔너리로 한정짓지 않고 확장시켜 MZ세대 플레이그라운드로 기획 추가.
- MZ 세대 신조어 딕셔너리일 경우에는 단어사전을 중심으로 진행이 되었다면 플레이그라운드는 사전 뿐만아니라 MZ세대의 생활이나 놀이터같은 환경을 만들어주어 자유롭게 소통하거나 자신의 일상을 등록할 수 있다.
채팅 기능 구현
- 채팅은 클라이언트에서 요청하여 서버에서 응답해주는 (단방향) 통신이 아닌 (양방향) 웹소켓 통신을 활용하여 구현.
- 웹소켓을 사용하는 이유 : 웹소켓이 나오기 이전에는 모두 클라이언트의 요청이 없다면, 서버로부터 응답을 받을 수 없는 구조였습니다.웹소켓은 이러한 문제를 해결하는 새로운 약속이었다. 웹소켓에서는 서버와 브라우저 사이에 양방향 소통이 가능합니다. 브라우저는 서버가 직접 보내는 데이터를 받아들일 수 있고, 사용자가 다른 웹사이트로 이동하지 않아도 최신 데이터가 적용된 웹을 볼 수 있게 해준다.
- 서버와 클라이언트간의 웹소켓 연결을 HTTP프로토콜을 통해 이루어진다. 연결이 정상적으로 이루어진다면 서버와 클라이언트 간에 웹소켓 연결(TCP/IP기반)이 이루어지고 일정 시간이 지나면 HTTP 연결은 자동으로 끊어집니다. 기본적으로 웹소켓 API는 아주 간단한 기능들만을 제공하기 때문에 대부분의 경우 SockJS나 Socket.IO같은 오픈 소스 라이브러리를 많이 사용하고 있으며 메시지 포맷 또한 STOMP같은 프로토콜을 같이 이용한다. 채팅기능을 구현하기 위해 나는 STOMP 프로토콜을 사용할 것이다.
728x90
'Hanghae99 > TIL' 카테고리의 다른 글
[항해 99] TIL D-45 (0) | 2022.05.04 |
---|---|
[항해 99] TIL D-47 (0) | 2022.05.03 |
[항해 99] TIL D-50 (0) | 2022.04.27 |