반응형
소켓?
SOCKET(소켓)?
프로세스가 네트워크를 통해서 데이터를 주고받으려면 반드시 열어야 하는 창구 같은 것이다.
- PORT(포트)를 통해서 통신을 진행하려면 기본적으로 소켓이 필요하다.
- 소켓의 경우 통신을 위해서 반드시 필요한 존재이며, 한 포트의 여러개의 소켓이 존재할 수 있다.
- 이는 하나의 앱에서 여러개의 통신이 가능한 이유와 같다
- ex) 채팅
포트와 소켓의 관계를 간단히 정리하자면
- 포트, 소켓
- 프로세스가 고유하게 받는 것이 포트
- 그 포트내에서 통신을 위해서 사용되는 것이 소켓
- 소켓의 경우 포트가 여러개를 만들 수 있다.
- 같은 protocol, 같은 ip, 같은 port를 가진 데이터가 소켓을 찾아가는 방법?
- Descriptor(디스크립터) - 소켓 고유 번호 (서비스 pid와 유사)
- 같은 protocol, 같은 ip, 같은 port를 가진 데이터가 소켓을 찾아가는 방법?
여기까지 소켓의 간단한 정보였습니다. 그럼 소켓을 사용한 소켓통신은 무엇일까?
소켓통신?
웹 소켓(Web Socket)은 두 프로그램간의 메시지를 교환하기 위한 통신방법 중 하나입니다.
웹 소켓은 W3C와 IETF에 의해 자리잡은 표준 프로토콜 중 하나이기 때문에, 현재 인터넷을 사용하는 환경에서 특히 많이 사용되고 있습니다.
예를 들면, 크롬(Chrome)이나 엣지(Edge) 등의 웹 브라우저 같은 경우에 웹 소켓 프로토콜을 지원하고 있기 때문에,
웹 브라우저를 통해서 웹 소켓을 사용하려고 한다면, javascript를 사용해서 어렵지 않게 개발할 수 있습니다.
소켓통신 특징?
1. 양방향 통신(Full-Duplex)
양방향 통신이란 데이터 송수신을 동시에 처리할 수 있는 통신방법
클라이언트(client)와 서버(server)가 서로에게 원할 때 데이터를 주고 받을 수 있음
2. 실시간 네트워킹(Real Time-Networking)
웹 환경(ex, 웹 브라우저)에서 채팅(chatting), 주식(stock), 비디오(video) 데이터 등의 데이터들은 연속된 데이터를 화면에 빠르게 보여주어야 하거나, 여러 단말기(ex, PC, 스마트폰)에 빠르게 데이터를 교환하는 실시간처리가 필요한 부분들이 있습니다.
예를 들어, 요즘 가상화폐들의 변하는 가격들을 웹 사이트에서 실시간으로 볼 수 있는데 이런 서비스를 구현할 때 사용될 수 있는 것이죠.
※ 웹 소켓 특징 중 하나가 실시간 네트워킹인 이유는 웹 소켓이 아닌 다른 비슷한 기술들로는 웹 브라우저 위에서 실시간으로 통신하기가 웹 소켓에 비해 상대적으로 어렵기 때문입니다.
반응형
'ETC' 카테고리의 다른 글
Decoupled Architecture - 백엔드와 프론트엔드의 분리 (0) | 2023.04.11 |
---|---|
WEB SOCKET (0) | 2022.11.23 |
소켓(Socket) 포트(Port) 뜻과 차이 (1) | 2022.09.20 |
Web Server? WAS? (0) | 2022.05.20 |
LocalDateTime( yyyyMMddHHmmssSSS) (1) | 2022.04.13 |