본문 바로가기

프로그래밍 언어

[C] Linux C listen() 함수

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.




클라이언트의 접속 요청을 기다리도록 설정합니다.

 

사용 예제 )

 

if ( -1 == listen(Sock,5) ) {

printf("listen() error!!\n");

exit(1);

}

 

*백로그 큐는 보통 5로 잡는다.

*백로그 큐는 연결 제한 수가 아닌 연결 대기 제한 수이다.

 

*추가설명

클리라이언트가 connect()를 하게 되면 클라이언트는 서버에게 connect request를 보내게 되는데, 서버는 connect request 신호를 받고 대기 큐에서 클라이언트를 대기 시킨다. 그리고 서버는 자신과 연결되있는 클라이언트가 없다면 대기 큐에 있는 클라이언트를 한명 잡아다가 연결을 하게 된다. 이때 대기큐의 제한을 걸어 주는 것이 백로그 큐이다.

(대기 큐는 5로 잡고 10개의 클라이언트가 연결신청하고 대기 상태에 있다고 해서 전부 연결대기가 아니고 5개만이 연결대기상태이다.)

 

 

 

 

'프로그래밍 언어' 카테고리의 다른 글

[C] Linux C read() 함수  (0) 2014.08.07
[C] Linux C accept() 함수  (0) 2014.08.07
[C] Linux C bind() 함수  (0) 2014.08.07
[C] Linux C socket() 함수  (0) 2014.08.07
[C] C언어 TCP/IP 통신 함수 사용 순서  (0) 2014.08.07