Sockets

이규황·2021년 11월 30일
0

개발 공부 정리

목록 보기
5/14

MDN

WebSockets
WebSocket 은 언제든지 데이터를 교환할 수 있도록 서버와 클라이언트 간의 지속적인 TCP 연결을 허용하는 프로토콜이다.

어떤 클라이언트나 서버 애플리케이션도 WebSocket을 사용할 수 있지만, 주로 웹 브라우저와 웹 서버를 사용할 수 있다. WebSocket을 통해 서버는 사전 클라이언트 요청 없이 클라이언트에 데이터를 전달할 수 있으므로 동적 컨텐츠 업데이트가 가능하다.

webSocket

웹소켓을 알려면 http프로토콜의 원리를 이해하는게 선행되야 한다.
http 프로토콜은 유저가 크롬이나, 사파리 등과 같은 웹브라우저를 사용해서 유튜브나 페이스북등 과 같은 웹사이트에 접속하면
1. 브라우저는 req -> 페이스북 서버에 보내줌
2. 페이스북 서버에서 res -> 브라우저에 데이터를 받음
3. 통신 끝 -> 서버는 브라우저의 요청이 없으면 데이터를 안보내줌 나쁜놈들!!!

그래서 websocket이 등장함

websoket은 커넥션이 open 과 Close 개념으로 동작함
즉 open이 되면 close 되기 전까지 계속 통신이 이루어진다는 것이야 -> 예) 전화통화 같은 것이지
브라우저랑 서버가 통신이 open 되있는 동안엔 자유롭게 통신한다~

웹소켓은 채팅, 주식거래 , 게임 같은 리얼타임 경험을 위해 만들어진다.

웹소켓은 유저가 많으면 많을 수록 많은 양의 Server 메모리가 필요해
이말인 즉슨 -> 서버에 돈이 든다는 거지

그래서 webRTC가 등장함

브라우저와 브라우저간 통신이 이루어지는 것 (서버없이) -> 텍스트 , 오디오 ,비디오, 채팅 모두다 가능
단, 확장성에는 많은 제약이 따름...

profile
도전중

0개의 댓글