sockets – 소켓
소켓은 네트웍 상에서 클라이언트 프로그램과 서버 프로그램 사이의 통신 방법이다.
소켓은 “접속의 끝 부분”으로 정의된다.
소켓은 때로 소켓 API라고 불리는, 일련의 프로그래밍 요청이나 function call로 만들어지고 사용된다.
가장 보편적인 소켓 API는 버클리 유닉스 C 언어 인터페이스이다.
소켓들은 또한, 같은 컴퓨터 내에서 프로세스들 간의 통신에도 사용된다.
다음은 하나의 서버가 여러 개의 클라이언트 요청을 처리하고, 요청을 처리할 때에만 접속을 유지하는 인터넷과 같은 커넥션리스 서비스에서, 서버로부터의 전형적인 소켓요청 순서이다.
socket() | bind() | recvfrom() | (클라이언트로부터 sendto 요청이 들어올때까지 기다린다) | (sendto 요청을 처리한다) | sendto (클라이언트로부터의 요청에 대응하여, HTML 파일 등을 보낸다)