2012年3月22日
摘要: 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历TIME_WAIT的过程:BOOL bDontLinger = FALSE;setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLing 阅读全文
posted @ 2012-03-22 11:59 一个人的天空@ 阅读(12003) 评论(0) 推荐(0) 编辑
摘要: 【getsockopt/setsockopt系统调用】功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include <sys/types.h>#include <sys/socket.h>intgetsockopt(int sock, int level, int 阅读全文
posted @ 2012-03-22 11:59 一个人的天空@ 阅读(6423) 评论(2) 推荐(0) 编辑
摘要: 一、getaddrinfo函数介绍:gethostbyname和gethostbyaddr这两个函数仅仅支持IPv4,getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个sockaddr结构的链表而不是一个地址清单。这些sockaddr结构随后可由套接口函数直接使用。如此以来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由getaddrinfo函数填写的套接口地址结构。该函数在POSIX规范中定义了。#include<netdb.h>int getaddrinfo( const char *hostname, con 阅读全文
posted @ 2012-03-22 11:38 一个人的天空@ 阅读(1312) 评论(0) 推荐(0) 编辑