[Network] Web Socket
Updated:
- 리눅스 기반 ROS와 윈도우 기반 Unity에서 통신이 필요한 상황 발생
- ROS에서 Web Socket 기반의 통신을 제공하는 rosbridge_suite 라이브러리 필요
- Web Socket이 정확히 뭐지?
Web Socket
- 두 프로그램간 메시지를 교환하기 위한 통신 방법
- W3C / IETF에 의해 자리 잡은 표준 프로토콜
- 양방향 통신(Full Duplex) : client-server 송수신 동시에 처리
- 실시간 네트워킹(Real Time-Networking) : 웹환경에서 채팅, 스트리밍 등의 작업에 적합
동작방식
- Client가 handshake 요청 메시지를 Server로 전송
- Server는 handshake 메시지에 응답
- Web Socket 연결 성공
- C-S 사이에 data payload frames / close frame 통신
특징
- 최초 접속에만 HTTP 프로토콜을 이용해 Handshaking
- web socket을 위한 별도의 포트 X (기존 http-80 or https-443 사용)
- ws - http 기반 / wss - https 기반 (ex. ws://192.168.1.15:9090)
ref
웹 소켓 통신 (Web Socket)
WebSocket 기반 실시간 양방향 통신.
Websocket Protocol 분석
How JavaScript works: Deep dive into WebSockets and HTTP/2 with SSE + how to pick the right path
RFC6455
Leave a comment