123456

 

2012年6月13日

SOCKET API简介三(

摘要: );inet_addr返回的是32位的网络字节序的二进制值, 这个函数存在这样的问题,所有2^32可能的二进制都是有效的IP地址(0.0.0.0到255.255.255.255) 但当出错时返回一个常值INADDR_NONE(#define INADDR_NONE 0xffffffff),这意味着255.255.255.255不能由此函数处理,可以这样使用:m_szServerAddr = "255.255.0.1"; ULONG inaddr = inet_addr(m_szServerAddr); if (inaddr == INADDR_NONE) {inaddr返回 阅读全文

posted @ 2012-06-13 17:17 hgy413 阅读(231) 评论(0) 推荐(0) 编辑

tcp keepalive

摘要: 部分信息可以看UNIX网络编程第157页,摘录过来:在一个正常的TCP连接上,当我们用无限等待的方式调用下面的Recv或Send的时候: ret=recv(s,&buf[idx],nLeft,flags); 或 ret=send(s,&buf[idx],nLeft,flags); 如果TCP连接被对方正常关闭,也就是说,对方是正确地调用了closesocket(s)或者shutdown(s)的话,那么上面的Recv或Send调用就能马上返回,并且报错。这是由于closesocket(s)或者shutdown(s)有个正常的关闭过程,会告诉对方“TCP连接已经关闭,你不需要再发送 阅读全文

posted @ 2012-06-13 17:03 hgy413 阅读(336) 评论(0) 推荐(0) 编辑

导航