关于iocp GetQueuedCompletionStatus 返回错误1234的情况

D_Future 2014-06-26 04:10:26
在抓取GetQueuedCompletionStatus的返回值错误情况下的错误代码时 总是发现返回错误1234-没有任何服务正在远程系统上的目标网络终结点上操作
查过一些资料后发现 会不会是socket时间长不用超时了被系统收回了的原因,看一些帖子说是什么创建一个完成建,在超时时激活一下WSARecvFrom,是应该这样解决么
求助一下 我这样想是正确的么,不正确的话应该怎么解决呢?
...全文
384 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbi333444 2016-11-01
  • 打赏
  • 举报
回复
楼主,你这个最后怎么处理的?
D_Future 2014-06-27
  • 打赏
  • 举报
回复
引用 6 楼 shenyi0106 的回复:
你忽略掉这个错误,看看你的程序有没有问题?
是忽略掉了,貌似是没有问题,但是要是socket长时间不用超时被系统回收了之后应该怎么处理呢,这种情况什么时候会出现呢?
shenyi0106 2014-06-27
  • 打赏
  • 举报
回复
你忽略掉这个错误,看看你的程序有没有问题?
D_Future 2014-06-27
  • 打赏
  • 举报
回复
引用 2 楼 shenyi0106 的回复:
你的发送或者接收数据量是不是很大? ERROR_PORT_UNREACHABLE错误本身是说目标端口不可达,对端没有启动相应的应用程序。 但是从我发现的想象上看,当UDP发送太快,或者接收端没及时处理数据包,导致网卡丢包时,GetQueuedCompletionStatus也会丢出这样一个错误。 目前我的处理方法是,当发现这个错误时,直接忽略。
我的一个IOCP udp的类被两个对象分别调用,有一个对象是数据量比较大的,另一个经常好久没有数据,但出问题的就是这个数据量小的
D_Future 2014-06-27
  • 打赏
  • 举报
回复
引用 3 楼 worldy 的回复:
不要使用WSARecvFrom,接受连接后,使用WSARecv
我是udp接受啊 不用WSARecvfrom可以么?
worldy 2014-06-26
  • 打赏
  • 举报
回复
不要使用WSARecvFrom,接受连接后,使用WSARecv
shenyi0106 2014-06-26
  • 打赏
  • 举报
回复
你的发送或者接收数据量是不是很大? ERROR_PORT_UNREACHABLE错误本身是说目标端口不可达,对端没有启动相应的应用程序。 但是从我发现的想象上看,当UDP发送太快,或者接收端没及时处理数据包,导致网卡丢包时,GetQueuedCompletionStatus也会丢出这样一个错误。 目前我的处理方法是,当发现这个错误时,直接忽略。
D_Future 2014-06-26
  • 打赏
  • 举报
回复
@wiresharker @udknight

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧