Linux網絡編程基礎:listen函數

listen函數

1)頭文件

#include <sys/types.h>          
#include <sys/socket.h>

2)函數聲明形式

int listen(int sockfd, int backlog);

3)函數功能
將套接字文件從主動文件描述符變爲被動文件描述符,用於被動監聽客戶的連接
4)函數返回
成功返回0,失敗返回-1

函數參數

sockfd參數
socket函數所返回的套接字文件描述符
backlog參數
指定隊列容量,此隊列用於記錄正在連接但還未連接上的客戶,一般將隊列容量指定爲2,3就可以了
示例:

ret = listen(sockfd,3);

函數說明

1)listen函數並不是監聽函數,其只是將套接字文件描述符變爲被動描述符,用於監聽
2)由於服務器與客戶端必須建立三次握手的連接,且這個連接請求是由客戶端發起的,服務器是被動接收,所以在TCP中,只有服務器會調用listen函數將主動文件描述符轉被動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章