现在位置: 首页 > Socket编程
    这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法,本文附带了有详尽注释的使用MFC编写的图形界面的示例代码。     我的初衷是希望写一份互联网上能找到的最详尽的关于完成端口的教学文档,而且让对Socket编程略有了解的人...
阅读全文

本文假设你已经对重叠I/O的机制已有了解,否则请先参考本系列的前一篇《手把手教你玩转SOCKET模型之重叠I/O篇》; 目录: 1.完成例程的优点 2.完成例程的基本原理 3.关于完成例程的函数介绍 4.完成例程的实现步骤 5.实际应用中应该进一步完善的地方 一. 完成例程的优点 1. 首先需要指明的是,这里的“完成例程”(Completion Routine)并非是大家所常听到的“完成端口”(Completion Port),而是另外一种管理重叠I/O请求的方式,...
阅读全文
“身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。” ----- 题记 By PiggyXP(小猪) 前 言 其实我首先应该道歉,因为7月份的时候曾信誓旦旦的说要写一套关于SOCKET所有模型的入门文章以及配套代码,不过没想到后天竟然被美女所迷出去度假了,刚刚回来不...
阅读全文
2013-09-08 06:36 工业·编程 ⁄ 共 2476字 暂无评论
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一 两个简单概念 1.长连接     Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。 2.短连接     Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点 通讯,比如多个Client连接一个Server....
阅读全文
2013-06-13 05:29 工业·编程 ⁄ 共 2329字 暂无评论
相关阅读--socket的错误码总结(windows版) 10001<o:p></o:p> EPERM<o:p></o:p> Not super-user<o:p></o:p> 10002          <o:p></o:p> ENOENT<o:p></o:p> No such file or directory<o:p></o:p> 10003<o:p></o:p> ESRCH<o:p></o:p> No such process&...
阅读全文
2013-06-12 05:26 工业·编程 ⁄ 共 3292字 评论 1 条
在主机上查询,像windows系统,直接在命令行输入:net helpmsg 1xxx即可。 出现网络联机错误Socket error #11001 表示您的计算机无法连上服务器,请检查您的Proxy设定以及Proxy相关账号,或暂时取消您防毒软件的「个人防火墙」。 · 出现网络联机错误Socket error #11004 应该是网络联机状态问题,请用户检查网络联机是否正常。 · 出现网络联机错误Socket error #10060 Connection Timed Out 表示您与服务器发生联机逾时错误,...
阅读全文
2013-06-04 22:03 工业·编程 ⁄ 共 2262字 暂无评论
     要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。          对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知...
阅读全文
2013-04-03 03:27 工业·编程 ⁄ 共 2643字 暂无评论
1)客户端处在FIN_WAIT_1状态,服务器处在SYN_RECV状态; 这个问题也是我最近在实际中碰到的问题,socket连接和断开流程已经前面的几节中讲到了,大家可以参考前面的内容; 怎么出现这样的问题呢?原因是客户端连接服务器,但是服务器限制了客户端的接入数,它只listen没有accept动作,造成客户端每次connect是成功的,但是连接就是建立不起来,客户端又做了,如果发送数据不成功,马上closesocket,然后在新建socket重连,这样...
阅读全文
2013-04-03 03:25 工业·编程 ⁄ 共 961字 暂无评论
1) 如何让socket不进入Time_Wait状态 在高并发短连接的server端,当server处理完client的请求后立刻closesocket此时会出现time_wait状态然后如果client再并发2000个连接,此时部分连接就连接不上了,用linger强制关闭可以解决此问题,但是linger会导致数据丢失,linger值为0时是强制关闭,无论并发多少多能正常连接上,如果非0会发生部分连接不上的情况!( 可调用setsockopt设置套接字的linger延时标志,同时将延时时间设置为0。...
阅读全文
2013-04-03 03:24 工业·编程 ⁄ 共 1001字 暂无评论
1) socket 客户端 FIN_WAIT_2,而设备端显示CloseWait   这个原因是服务器端没有及时CloseSocket; 下面讲解下socket的断开流程:   TCP报文段首部格式: 序号:本报文段所发送的数据的第一个字节的序号。 确认号ack:期待收到对方下一个报文段的第一个数据字节的序号 确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效 同步SYN:连接建立时用于同步序号。当SYN=1,ACK=0时表示:这是...
阅读全文