完成端口WSASend的问题 WSASend完成后,在收到GetQueuedCompletionStatus完成通知以前,WSASend的参数里面的Buffer可以修改或释放吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看这个吧http://community.csdn.net/Expert/topic/5150/5150809.xml?temp=.8398554 GetQueuedCompletionStatus完成通知以后,数据是提交到发送缓冲了,还是对方已经确认收到了 接分...在收到完成端口通知前(其实意思是数据发送到系统缓冲区之前)是不能释放缓冲及其OVERLAPPED结构的,否则你会接到完成端口通知:ByteTransfered=0,GetLastError/WSAGetLastError==995.所以,在完面端口的编写过程中,WSARecv/WSASend中的缓冲及重叠结构应该在完成端口内接收到IO完毕通知后释放. blastzgd(悟道) 你自己试过你所说的吗? ,我的测试结果怎么没有返回错误啊 blastzgd(悟道) 你自己试过你所说的吗? ,我的测试结果怎么没有返回错误啊---------------------------------------------------------这个测试起来不容易啊 在你删除或者释放前 数据已经发送出去了 WSASend and WSARecv operate in an asynchronous way. So take care of the life time of the variables passed to the asynchronous functions。。be care of release the buffer except the buffer be send true 看看这个吧http://community.csdn.net/Expert/topic/5207/5207923.xml?temp=5.825222E-03 以前我认为是可以的,现在我认为是不能这么做的,具体的原因你到我的这个帖子里看看就知道了http://community.csdn.net/Expert/topic/5207/5207923.xml?temp=5.825222E-03 在得到通知之前,不要释放──────────────────────国内专业的ACE网络编程、开发论坛开通:www.acejoy.com 涉及ACE使用和开发,中间件、服务器端软件的设计,P2P技术,socket网络编程、应用开发等内容。欢迎加入,大家一起交流、学习成长! ProgrameMan(我要学汇编)我的说法是测试过的.我说的释放是指真正意义上的释放.而不是内存池中简单的置为可用. 在操作excel中如何屏蔽excel弹出的警告框 VC数据库编程求助 孙鑫老师的《VC++深入详解》中第20章的例子程序出错 runtime error 求救!!!!长时间运行出错 RunTime Error! abnormal Program Termination 请问如何打印一个jpg图? 如何将长度为一个字节的整数转换成网络字节序? 如何向外部输出一个变量?(在线等,急!!) socket编程一问 请问为什么函数f不能实现a、b的值互换呢? 请问winsock如何实现IP包转发? 我着急!!!!!!!!!!!! 谁有vc++技术内幕第四版的下载地址啊? 如何解决不确定窗口的问题
在收到完成端口通知前(其实意思是数据发送到系统缓冲区之前)是不能释放缓冲及其OVERLAPPED结构的,否则你会接到完成端口通知:
ByteTransfered=0,GetLastError/WSAGetLastError==995.所以,在完面端口的编写过程中,WSARecv/WSASend中的缓冲及重叠结构应该在完成端口内接收到IO完毕通知后释放.
---------------------------------------------------------
这个测试起来不容易啊 在你删除或者释放前 数据已经发送出去了
be care of release the buffer except the buffer be send true
──────────────────────
国内专业的ACE网络编程、开发论坛开通:
www.acejoy.com
涉及ACE使用和开发,中间件、服务器端软件的设计,P2P技术,
socket网络编程、应用开发等内容。
欢迎加入,大家一起交流、学习成长!