[C#] ClientWebSocket 내부 구현 파헤치기

·
Programming/C# .NET
WebSocket은 ws 프로토콜을 기반으로 클라이언트와 서버 사이에 지속적인 완전 양방향 연결 스트림을 만들어 주는 기술이자 프로토콜이다. WebSocket은 HTTP와 구별된다. 두 프로토콜 모두 OSI 모델의 제7계층에 위치해 있으며 제4계층의 TCP에 의존한다. HTTP polling은 클라이언트가 주기적으로 요청을 보내고 서버가 응답하는 request/response 패턴이라, WebSocket처럼 하나의 연결에서 지속적으로 양방향 메시지를 주고받는 구조와 다르다. WebSocket 연결은 HTTP 기반 handshake로 시작된다.HTTP/1.1에서는 GET + Upgrade 방식으로 연결을 WebSocket 프로토콜로 전환하고,HTTP/2에서는 extended CONNECT 방식으로 WebS..