码迷,mamicode.com
首页 > 其他好文 > 详细

man 2 listen

时间:2016-03-17 08:22:40      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

摘要

#include <sys/types.h>    /*Portable consideration*/
#include <sys/socket.h>
int listen(int sockfd,int backlog)

描述

  listen()把套结字sockfd标记为被动套结字,也就是说这个套结字将通过accept()接受请求。

  参数sockfd一个文件描述符,指向类型为SOCK_STREAM或者SOCK_SEQPACKET的套结字。

  参数backlog定义了排队等待连接sockfd的最大长度。如果一个连接请求到来时,队列已满,那么客户端将会受到错误提示ECONNREFUSED,如果底层的协议支持重发送,那么请求会被忽略,稍后的连接请求可能会成功。

返回值

  成功执行返回0,出错返回-1并且相应的设置errno。

注意

  接受一个连接将会执行下面的步骤:

  1,创建一个套结字socket(int domain, int type, int protocol)

  2,绑定套结字到本地地址bind(int sockfd,const struct sockaddr *addr,socklen_t len),那么其他套结字就可以通过connect连接到该套结字

  3,准备接受到来的请求,并且设置最大请求连接队列长度listen(int sockfd,int backlog)

  4,接受请求连接accept(int sockfd,struct sockaddr *addr, socklen_t *len)

  POSIX.1-2001不要求包含头文件<sys/types.h>, 这个头文件在linux系统上是不要求的,然而一些历史版本(BSD)实现却要求该头文件,所以可移植的应用程序最要包含该头文件。

man 2 listen

标签:

原文地址:http://www.cnblogs.com/cq-shihao/p/5285945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!