vc
文章平均质量分 75
f_x_p0324
这个作者很懒,什么都没留下…
展开
-
winsock的select模型
<br /> select函数: <br /> 系统提供select函数来实现多路复用输入/输出模型。原型: <br /> #include sys/time.h> <br /> #include unistd.h> <br /> int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout); <br /> 参数max原创 2011-03-22 12:52:00 · 3011 阅读 · 0 评论 -
GetIfEntry()的用法
<br />GetIfEntry()是取一个特定Index接口的信息。 <br />GetIfTable() 是取本机所有接口的信息。<br />调用了后者当然不用再调用前者了。<br />一般地,不考虑速度,调用这种需要未知缓冲区大小的函数是这样作的:<br /> PMIB_IFTABLE pIf = NULL; <br /> DWORD dwIfBufSize = 0; <br />原创 2011-03-23 10:01:00 · 3939 阅读 · 0 评论 -
查看时间调用函数
<br /><br />void main( void )<br />{<br /> struct _timeb timebuffer;<br /> char *timeline;<br /> <br /> _ftime( &timebuffer );<br /> timeline = ctime( & ( timebuffer.time ) );<br /> <br /> printf( "The time is %.19s.%hu %s", timeline, timebuffer.原创 2011-03-24 23:29:00 · 646 阅读 · 0 评论 -
对CRITICAL_SECTION的理解
<br /><br /> 很多人对CRITICAL_SECTION的理解是错误的,认为CRITICAL_SECTION是锁定了资源,其实,CRITICAL_SECTION是不能够“锁定”资源的,它能够完成的功能,是同步不同线程的代码段。简单说,当一个线程执行了EnterCritialSection之后,cs里面的信息便被修改了,以指明哪一个线程占用了它。而此时,并没有任何资源被“锁定”。不管什么资源,其它线程都还是可以访问的(当然,执行的结果可能是错误的)。只不过,在这个线程尚未执行LeaveCritica原创 2011-05-16 19:28:00 · 541 阅读 · 0 评论 -
getaddrinfo的用法
<br />gethostbyname和gethostbyaddr这两个函数仅仅支持IPv4,getaddrinfo函数能够处理名字到地址以及服务到端口这两 种转换,返回的是一个sockaddr结构的链表而不是一个地址清单。这些sockaddr结构随后可由套接口函数直接使用。如此以 来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由getaddrinfo函数填写的套接口地址结构。该函数在 POSIX规范中定义了。<br /><br />#include<netdb.h><原创 2011-04-28 16:07:00 · 2136 阅读 · 0 评论 -
socketaddr和socketaddr_in的区别于联系
<br /><br />struct sockaddr { <br /> unsigned short sa_family; /* 地址族, AF_xxx */ <br /> char sa_data[14]; /* 14字节的协议地址*/ <br /> }; <br /> 上面是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类原创 2011-04-28 20:13:00 · 2318 阅读 · 0 评论