18.3.5 创建套接字队列

来源:互联网 发布:tensorflow运行mnist 编辑:程序博客网 时间:2024/05/04 08:17

18.3.5  创建套接字队列

为了能够在套接字上接受接入的连接,服务器程序必须创建一个队列来保存到达的请求。创建队列可使用系统调用listen()完成,它的一般形式为:

 

int listen(int socket, int backlog);

 

Linux系统可能会对队列里能够容纳的排队连接的最大个数有限制。在这个最大值的范围内,listen()将把队列长度设置为backlog个连接。在套接字上排队的接入连接个数最多不能超过这个数字,再往后的连接将被拒绝,用户的连接请求将会失败。这是listen()提供的一个机制,在服务器程序紧张地处理着上一个客户的时候,后来的连接将被放到队列里排队等号。backlog常用的值是5

listen()函数成功时会返回0,否则返回–1,它的错误代码包括EBADFEINVALENOTSOCK,含义同bind()系统调用的错误代码相同。

原创粉丝点击