linux socket listen函数
来源:互联网 发布:怎么删除mac里的照片 编辑:程序博客网 时间:2024/04/30 11:09
摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。
listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是:
#include<sys/socket.h>
int listen(int sockfd, int backlog)
返回:0──成功, -1──失败
int listen(int sockfd, int backlog)
返回:0──成功, -1──失败
参数backlog这个参数涉及到一些网络的细节。在进程正理一个一个连接请求的时候,可能还存在其它的连接请求。因为TCP连接是一个过程,所以可能存在一种半连接的状态,有时由于同时尝试连接的用户过多,使得服务器进程无法快速地完成连接请求。如果这个情况出现了,服务器进程希望内核如何处理呢?内核会在自己的进程空间里维护一个队列以跟踪这些完成的连接但服务器进程还没有接手处理或正在进行的连接,这样的一个队列内核不可能让其任意大,所以必须有一个大小的上限。这个backlog告诉内核使用这个数值作为上限。毫无疑问,服务器进程不能随便指定一个数值,内核有一个许可的范围。这个范围是实现相关的。很难有某种统一,一般这个值会小30以内。
当调用listen之后,服务器进程就可以调用accept来接受一个外来的请求
0 0
- linux socket listen函数
- linux socket编程之listen函数
- socket之listen函数
- linux socket 阻塞 listen
- linux下socket函数之listen的参数backlog
- Socket通信 listen accept 函数
- Socket编程:listen()函数英文翻译
- linux下listen函数
- Socket里listen函数的参数含意
- Socket里listen函数的参数含意
- 网络编程socket之listen函数
- Socket中listen/accept函数的区别
- Socket中listen/accept函数的区别
- Socket中listen/accept函数的区别
- 网络编程socket之listen函数
- 网络编程socket之listen函数
- python的socket里listen函数
- socket 中listen函数参数的解释
- 使用RequireJS优化Web应用前端
- [数字信号处理]IIR滤波器基础
- 关于并行处理的一些思考
- Anagrams
- php原理简述
- linux socket listen函数
- Android开发中常用小知识
- 数据结构之链表的删除
- HTTPClient PostMethod 中文乱码处理
- PhotoSwipe简介
- [数字信号处理]IIR滤波器的间接设计(C代码)
- Linux下编译clang、libcxx及其相关库——C++11环境搭建
- 软件测试问题报告的写法
- Discuz模板制作教程