socket编程
文章平均质量分 65
diaolingle
这个作者很懒,什么都没留下…
展开
-
关于listen的第二个参数backlog的一些问答见解
Q: 网络编程中listen()函数backlog的理解?A:根据实际经验, 在大量并发连接的服务器上, 这个参数必须设置得比较大, 如1024或者10240或者更大, 否则客户端会频繁收到connection refused的错误. 有时候, 我们情愿客户端排队等待几秒钟, 而不是让客户端立即报一个连接失败的错误. 所以, 大部分情况下backlog参数要设置得比较大, 而不是使用默认的转载 2016-04-11 23:14:13 · 535 阅读 · 0 评论 -
listen和accept函数解析
函数原型:#include int listen(int s, int backlog);函数功能:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。参数:S: 用于标识一个已捆绑为未连接套接口的描述字。backlog:原创 2016-04-12 00:16:19 · 3848 阅读 · 0 评论 -
bind函数解析
名称bind()把名字和套接字相关联使用格式#include sys/types.h>#include sys/socket.h>int bind(int sockfd, const struct sockaddr *addr,socklen_taddrlen);功能描述当用socket()函数创建套接字以后,套接字在名称空间(网络地址族)中存在,但没有转载 2016-04-11 22:40:40 · 2268 阅读 · 0 评论 -
connect函数简析
connect()用于建立与指定socket的连接头文件:#include 函数原型:int connect(int s, const struct sockaddr* name, int namelen);参数: s:标识一个未连接socket; name:指向要连接套接字的sockaddr结构体的指针; namelen:sockaddr结构体的字节长度原创 2016-04-12 01:25:18 · 1043 阅读 · 0 评论 -
inet_addr, inet_aton, inet_ntoa, inet_pton, inet_ntop函数简析
头文件:#include #include #include 定义函数:unsigned long int inet_addr(const char *cp);函数说明:inet_addr()用来将参数cp 所指的网络地址字符串转换成网络所使用的二进制数字. 网络地址字符串是以数字和点组成的字符串, 例如:"163. 13. 132. 68".返回值:成功则返回原创 2016-04-11 11:43:33 · 1203 阅读 · 0 评论 -
关于socket的一些疑问
Q: accept接受socket的描述符作为参数,之后返回另一个socket描述符,那这两个socket有什么区别和联系? 假如调用之前的socket绑定在8000端口,那返回之后的socket是不是也绑定在8000端口?一个端口可以绑定几个socket吗?A:socket看成IP+端口,server的IP x:8000 是那个在listen的socket做参数传给accept,从这个soc转载 2016-04-11 18:59:24 · 356 阅读 · 0 评论 -
setsockopt和getsockopt函数解析
socksetopt函数解析:头文件:#include #include 函数原型:int socksetopt(int sockfd, int level, int optname, const void * optival, socklen_t optlen);功能:用于任意类型、任意状态套接口的设置选项值.参数: sockfd:标识一个套接口的描述字;转载 2016-04-11 21:59:25 · 7163 阅读 · 1 评论