
💡 네트워크 상의 두 지점 간의 양방향 통신 링크
❗ 소켓을 통해 두 응용 프로그램은 데이터를 주고 받을 수 있음
❗ 소켓 유형

💡 특정 ip 주소와 port 번호를 소켓에 맺어주는 작업
💡 소켓이 이미 사용된 주소에 대해 빠르게 재사용할 수 있도록 하는 소켓 옵션,
SO_REUSEADDR옵션
❗ 장점
서버 재시작 시: 서버가 종료된 후 바로 재시작할 때, 이전 연결이 완전히 닫히지 않아 포트가 바인딩되지 않는 문제를 방지😊
포트 충돌 방지: 동일한 포트를 여러 소켓이 재사용할 수 있게 하여 포트 충돌 문제를 줄임😊
참고 링크
server.listen({
host: 'localhost',
port: 80,
exclusive: true
});
=> 기본적으로(default) SO_REUSEADDR 옵션을 사용한다고 함. (SO_REUSEPORT를 사용하는지는 나와있지 않음)
=> 만약 socket reuse가 이루어지지 않으면 server.listen을 setTimeout으로 재귀호출하는 방법을 사용할 수 있음.