Socket, js에서 socket 사용

정혜인·2024년 8월 8일

기초공부

목록 보기
17/18

💨 소켓

⭕ 정의

💡 네트워크 상의 두 지점 간의 양방향 통신 링크

❗ 소켓을 통해 두 응용 프로그램은 데이터를 주고 받을 수 있음

❗ 소켓 유형

  1. 스트림 소켓 (Stream Socket):
    • TCP 프로토콜을 사용.
    • 신뢰성 있는 연결 지향 통신을 제공.
    • 데이터의 순서와 무결성을 보장.
  2. 데이터그램 소켓 (Datagram Socket):
    • UDP 프로토콜을 사용.
    • 비연결형 통신을 제공.
    • 빠른 전송을 위해 데이터의 순서나 무결성을 보장하지 않음.

⭕ 동작 과정

  1. 소켓 생성
  2. 소켓 옵션 설정
  3. 소켓 바인딩 및 연결 대기

⭕ 소켓 바인딩 ?

💡 특정 ip 주소와 port 번호를 소켓에 맺어주는 작업

⭕ reuse 옵션 ?

💡 소켓이 이미 사용된 주소에 대해 빠르게 재사용할 수 있도록 하는 소켓 옵션,
SO_REUSEADDR 옵션

❗ 장점

💨 js에서 Socket 사용

⭕ node.Socket

⭕ node에서 reuse 옵션

server.listen({
	host: 'localhost',
	port: 80,
	exclusive: true 
});

=> 기본적으로(default) SO_REUSEADDR 옵션을 사용한다고 함. (SO_REUSEPORT를 사용하는지는 나와있지 않음)

=> 만약 socket reuse가 이루어지지 않으면 server.listen을 setTimeout으로 재귀호출하는 방법을 사용할 수 있음.

0개의 댓글