ETC

SOCKET 통신

curiousKidd 2022. 11. 22. 17:15
반응형

소켓?

  SOCKET(소켓)?
  프로세스가 네트워크를 통해서 데이터를 주고받으려면 반드시 열어야 하는 창구 같은 것이다.

 

  • PORT(포트)를 통해서 통신을 진행하려면 기본적으로 소켓이 필요하다.
  • 소켓의 경우 통신을 위해서 반드시 필요한 존재이며, 한 포트의 여러개의 소켓이 존재할 수 있다.
  • 이는 하나의 앱에서 여러개의 통신이 가능한 이유와 같다
  • ex) 채팅

 

포트와 소켓의 관계를 간단히 정리하자면

  • 포트, 소켓
    • 프로세스가 고유하게 받는 것이 포트
    • 그 포트내에서 통신을 위해서 사용되는 것이 소켓
    • 소켓의 경우 포트가 여러개를 만들 수 있다.
      • 같은 protocol, 같은 ip, 같은 port를 가진 데이터가 소켓을 찾아가는 방법?
        • Descriptor(디스크립터) - 소켓 고유 번호 (서비스 pid와 유사)

 

여기까지 소켓의 간단한 정보였습니다. 그럼 소켓을 사용한 소켓통신은 무엇일까?

소켓통신?

  웹 소켓(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