Hello World...
소켓과 웹소켓 본문
소켓(socket) 과 웹소켓🔌
소켓이란, 프로그램이 네트워크 상에서 데이터를 송신과 수신을 하기 위한 연결부이다.
일반적으로 TCP/IP (또는 UDP) 프로토콜을 이용하거나, WebSocket 을 이용한다.
웹소켓(WebSocket) 과 TCP/IP 소켓은 차이가 있다.
웹소켓은 HTTP 레이어에서 작동하는 소켓으로 레이어가 다르다. (RFC-6455)
IP, PORT 를 통해 통신한다는 점에서는 비슷하다.
기존 http 통신은 단방향 통신으로, 실시간 통신을 하기 위해 실시간처럼 보이는 방식을 사용했다.(Polling 방식)
이후 실제로 실시간 양방향 통신이 가능한 웹소켓은 2011년 국제 인터넷 표준화 기구(IETF) 에서 RFC 6455로 표준화 되었다.
웹소켓의 통신 TCP 80포트 를 사용하면서 HTTP 프로토콜과 호환되며, 웹브라우저와 서버간 통신을 가능하게 해준다.
웹소켓의 포로토콜 표시는 ws(WebSocket), wss (WebSocket Secure) 이다.
웹소켓을 지원하지 않는 브라우저 등이 있었지만 현재는 거의 모든 벤더사에서 지원하고 있다.
크로스 브라우저 지원 등 사용하기 편하게 해주는 웹소켓 프레임워크인 Socket.io 가 있다.
Node.js 에서 기존 TCP/IP 소켓 프로그래밍을 하려면 net.Socket 을 사용한다.
웹소켓은 기존 http 통신을 대체하지 않는다.
웹소켓은 트래픽이 많고 지연이 낮은 접속 환경에서 유리하다.
소켓 프로그래밍. (Socket Programming)
[Node.js 강좌] 9. Socket.io vs Ajax 무엇을 쓸까?
[개발상식] 12. 프로토콜이란? TCP/IP, HTTP, Web Socket 각각에 대한 기본과 그 흐름
OKKY | NodeJS에서 TCP/IP Socket과 WebSocket
'programming' 카테고리의 다른 글
[docker] mysql 접속시 인증 관련 에러 발생시 (0) | 2022.11.16 |
---|---|
맥 osx mysql 8 설치하기 (0) | 2020.04.17 |
자료구조(Data Structure) (0) | 2019.12.30 |
JEST toBe, toEqual (0) | 2019.12.26 |
npm 글로벌 패키지 확인 및 삭제하기 (0) | 2019.12.26 |