12 2013 档案

摘要:listen--监听数量#include int listen(int sockfd, int backlog);/* backlog指定了该套接口排队的最大连接个数 */调用listen导致套接口从CLOSED状态转换到LISTEN状态。监听窗口维持两个队列(队列的大小与backlog有关):未完成队列,每个这样的SYN分节对应一项;已由某个客户发出并到达服务器,而服务器正在等待完成相应的TCP三次握手,此套接口处于SYN_RCVD状态。完成队列,完成TCP三次握手过程的每一项;该套接口处于ESTABLISHED状态。问题来了,如何动态的改变listen监听的个数呢? 如果指定值在源代码中. 阅读全文
posted @ 2013-12-13 11:08 cococo点点 阅读(5942) 评论(0) 推荐(0) 编辑
摘要:地址转换函数IPv4#include 点分十进制数串(例如192.168.1.1) ===(转换)===> 32位网络字节序地址int inet_aton(const char* strptr, struct in_addr *addrptr);返回: 1----串有效 0----串有错in_addr_t inet_addr(const char* strptr);返回: 成功,32位二进制的网络字节序地址 失败,返回INADDR_NONE32位网络字节序地址 ===(转换)===> 点分十进制数串char *inet_ntoa(struct in_addr inaddr);IPv 阅读全文
posted @ 2013-12-11 11:18 cococo点点 阅读(364) 评论(0) 推荐(0) 编辑
摘要:字节流套接口的读写 字节流套接口上的read和write函数的使用与普通的I/O操作不同。由于内核中套接口的缓冲区是一个有限的空间,当这个缓冲空间不足以存储你要接收或发送的数据时,函数返回的字节数就会比预期发送的字节数少。这时,再次把剩余的数据操作一次即可。 为了预防缓冲区空间不足的情况,可以调用readn、writen、readline、writelin函数readn函数:从一个描述字读n个字节// return readn numberssize_t readn(int fd, void* vptr, size_t n){ size_t nleft; size_t nrea... 阅读全文
posted @ 2013-12-11 10:54 cococo点点 阅读(784) 评论(0) 推荐(0) 编辑