listen()의 정의에 대해서 알아봅시다.
#include <sys/socket.h>
int listen(int sockfd, int backlog);
Listen for connections on a socket
▪ OS에서 SYN packet을 수신하고 대기열에 넣는다고 알려주는 함수입니다.
▪TCP Server에서만 사용할 수 있습니다.
▪ sockfd : socket에 대한 file descriptor (socket type should be SOCK_STREAM)
▪ backlog : 서버가 요청을 accept할 때까지 대기하는 동안 시스템이 대기할 수 있는 최대 연결 request의 수
▪ Return value
• Success: 0 • Error: -1
▪ Example
if (listen(serv_sock, 5) == -1)
error_handling("listen() error");
즉, Client로부터 connection이 들어오도록 하겠다. - 때문에 TCP에서만 사용됩니다.