首页 > 其他 > 详细

man 2 listen

时间:2016-03-17 08:21:58      阅读:118      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!