
socket编程
kemaWCZ
这个作者很懒,什么都没留下…
展开
-
阻塞socket和非阻塞socket(一)
刚开始做项目时,要用到socket通信。那时为了弄清socket编程做了几个实验,主要是针对send和recv在几种特殊的情况下的返回值。阻塞socket: 特殊情况(1):在接收端和发送端正常频繁的接受和发送时,突然关闭接收端的socket(优雅的关闭,调用closesocket函数),此时的发送端的send函数返回-1,WSAGetLastError 的编码为10054.代表W原创 2016-02-17 20:18:41 · 994 阅读 · 0 评论 -
阻塞socket和非阻塞socket(二)
非阻塞socket:一般在项目中我们很多情况下都是有多个socket传输数据,而管理多个socket有几种I/O模型。如select模型、WSAAsyncSelect模型、WSAEventSelect模型、Overlapped I\O模型、完成端口等等。根据项目的具体的情况选择相应的I\O模型。我在项目中用到最多的就是WSAAsyncSelect模型、WSAEventSelect模型这原创 2016-02-19 10:53:56 · 757 阅读 · 0 评论 -
socket的overlapped(重叠) I\O和其他socket I\O模型的区别
在刚开始接触socket I\O模型的时候,一眼看去,好像WSAEventSelect模型和overlapped I\O的模型是差不多的。看网上的示例代码,都是先把一个事件对象和socket绑定,然后等待事件对象的激活再进行相应的操作。但是经过仔细研究之后发现两者的差别是非常之大的。区别:1.发起I\O请求的流程:WSAEventSelect模型:是在绑定的socket上有注册过的感兴原创 2016-02-20 10:58:01 · 1379 阅读 · 0 评论