운영체제에서 소켓을 제공한다.
이 소켓은 물리적으로 연결된 네트워크상에서 데이터 송수신에 사용할 수 있는 소프트웨어적인 장치를 의미한다.
그렇기 때문에 소켓이라는 것을 이용해서 데이터를 주고 받을 수 있다.
-> 소켓은 네트워크를 통한 두 컴퓨터의 연결을 의미한다.
socket 함수로 소켓을 생성하면 IP와 port번호라는 주소정보를 할당해야한다.
이는 bind 함수를 통해 할당이 가능하며 통신을 받기 위한 준비는 끝났다.
이제 listen 함수를 통해 연결요청이 가능한 상태가 되게 해야하며,
accept 함수호출을 통해 누군가 데이터의 송수신을 위해 연결요청을 하면 그 요청을 수락할 수 있다.
단계별 정리
1. 소켓 생성 socket 함수호출
2. IP주소와 PORT번호 할당 bind 함수호출
3. 연결요청 가능상태로 변경 listen 함수호출
4. 연결요청에 대한 수락 accept 함수호출
주의점
1. 서버는 연결을 요청하는 클라이언트 보다 먼저 실행되어야 한다.
이렇게 생성된 소켓을 가리켜 '서버 소켓' or '리스닝 소켓'이라 한다.
연결요청을 진행하는 소켓을 가리켜 '클라이언트 소켓'이라 한다.