网络编程
爆椒火龙果
这个作者很懒,什么都没留下…
展开
-
Socket阻塞模式开发
Windows Sockets在阻塞和非阻塞两种模式下执行I/O操作,其中,以socket()、WSASocket()函数创建的套接字默认都是阻塞套接字。在阻塞模式下,在I/O操作完成前,执行的操作函数将一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O操作是否完成,该函数所在的线程会继续运行。例如,在调用recv函数时,发生在内核中原创 2017-07-11 22:01:18 · 505 阅读 · 0 评论 -
Socket非阻塞模式开发
套接字的非阻塞模式是指套接字在执行操作时,调用的函数不管操作是否完成都会立即返回的工作模式。把套接字设置为非阻塞模式,就是告诉系统内核:在调用Windows Sockets API函数时,不要让线程睡眠,而应该让函数立即返回。在返回时,该函数返回一个错误码。一个非阻塞模式的套接字多次调用recv()函数的过程如下:前三次调用recv()时,内核数据还没有准备好。因此,该函数立即返回WS原创 2017-07-13 22:16:20 · 1137 阅读 · 0 评论 -
完成端口(CompletionPort)详解
转自:http://blog.csdn.net/piggyxp/article/details/6922277手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪)转载 2017-07-10 10:00:58 · 511 阅读 · 0 评论 -
“AF_IPX”: 宏重定义的解决方法
写了一个完成端口模型的小程序,编译运行跳出来一大堆重定义的错误,网上查一些资料是因为windows.h和WinSock2.h的包含关系。将WinSock2.h写在windows.h前,问题就解决了。这两个头文件的包含关系不仅仅影响到直接包含两者的文件,还会影响到间接包含两者的情形。比如:a.h包含了windows.h,b.h包含了winsock2.h,如果在c.h中要引用a.h和b.h,那么a原创 2017-07-10 11:42:57 · 5648 阅读 · 1 评论