사람들과 함께하는 사이드 프로젝트에서 실시간 통신을 위해 웹 소켓을 사용한 기능 구현이 필요하게 되었다.
이전 회사에서 vb6와 C#을 이용한 윈도우 소켓 프로그래밍을 구현해본 경험이 있다. 웹 소켓은 http 의 웹 소켓 프로토콜 기반이고 윈도우 소켓은 tcp/ip 프로토콜 기반이다라는 차이만 인지하고 있었는데 문득 웹 소켓과 tcp/ip 소켓의 구체적인 차이점이 궁금해져서 정리해보았다.
목적
- 웹 소켓은 웹 애플리케이션에서 실시간 양방향 통신을 위해 사용한다. 웹 브라우저와 서버 간의 실시간 데이터 전송을 할 수 있다.
- tcp/ip 소켓은 네트워크 통신을 위한 프로토콜과 api를 제공하는 기술이다.
프로토콜
- 웹 소켓은 http 를 통해 웹 소켓 연결을 설정한 후, websocket 프로토콜을 이용하여 데이터를 주고 받는다.
- tcp/ip 소켓은 tcp/ip 프로토콜을 사용하여 데이터를 전송한다.
사용 방식
- 웹 소켓은 클라이언트와 서버 간의 지속적인 연결을 유지하고, 실시간 양방향 통신을 지원한다.
- tcp/ip 소켓은 클라이언트와 서버 간의 연결을 설정하고 데이터를 주고 받을 때 요청-응답 모델을 따른다. 클라이언트는 서버에 요청하고 서버는 클라이언트에게 응답하는 것이 일반적이다.
'프로젝트' 카테고리의 다른 글
websocket, SSE, polling, long polling, streaming 차이점 (0) | 2023.08.30 |
---|---|
실시간 통신을 위한 websocket 과 STOMP (0) | 2023.06.08 |
cognito와 oauth2.0 (0) | 2023.05.24 |
프로젝트 인프라 구성 (0) | 2023.04.04 |
filter, interceptor, argument resolver 의 역할과 차이 (0) | 2023.03.06 |