社区
C++ 语言
帖子详情
GetQueuedCompletionStatus失败,GetLastError返回234,是什么原因?
桔子与叶子
2012-02-09 05:31:08
TR,望解惑,感激不尽!
...全文
259
7
打赏
收藏
GetQueuedCompletionStatus失败,GetLastError返回234,是什么原因?
TR,望解惑,感激不尽!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jim_King_2000
2012-02-10
打赏
举报
回复
貌似就是说后面还有数据,你就尽管再去recv试试看好了。
桔子与叶子
2012-02-10
打赏
举报
回复
[Quote=引用 5 楼 visualeleven 的回复:]
234: More data is available.
每次WSARecvFrom完成以后,再投递一个WSARecvFrom请求试试
[/Quote]
WSARecvFrom完成?是WSARecvFrom收到数据之后,还是WSARecvFrom返回之后?如果是收到数据的时候就已经出现这个错误了,如果是后者就是连续两次投递WSARecvFrom请求,两次请求的buffer还是很小的话也一样解决不了问题吧?
Eleven
2012-02-09
打赏
举报
回复
234: More data is available.
每次WSARecvFrom完成以后,再投递一个WSARecvFrom请求试试
桔子与叶子
2012-02-09
打赏
举报
回复
[Quote=引用 3 楼 jim_king_2000 的回复:]
不可以。
[/Quote]
怎么可能不可以,底层也有缓冲区的
tcp里我就是分次接收的,udp里却出现了这种错误,不知道为什么
Jim_King_2000
2012-02-09
打赏
举报
回复
不可以。
桔子与叶子
2012-02-09
打赏
举报
回复
[Quote=引用 1 楼 jim_king_2000 的回复:]
http://msdn.microsoft.com/en-us/library/ms681382(v=vs.85).aspx
可能你传递的buffer太小?
[/Quote]
按理说就算buffer太小,也可以分多次接收的啊
Jim_King_2000
2012-02-09
打赏
举报
回复
http://msdn.microsoft.com/en-us/library/ms681382(v=vs.85).aspx
可能你传递的buffer太小?
Get
Queue
d
Com
p
let
ion
Status
失败
GetLast
Error
返回
ERROR
_OPERAT
ION
_ABORTED
原因
是OVERLAPPED没清零。
Get
Queue
d
Com
p
let
ion
Status
返回
几个错误代码
调用Get
Queue
d
Com
p
let
ion
Status
,
返回
GetLast
Error
()的值:121 信号灯超时时间已到
完成端口Get
Queue
d
Com
p
let
ion
Status
()
返回
错误,怎样获得真正的错误代码,错误
返回
64解决办法
Get
Queue
d
Com
p
let
ion
Status
()
返回
错误,说明I/O
失败
。此时调用GetLast
Error
()或WSAGetLast
Error
()得到的往往是
ERROR
_NETNAME_DE
LET
ED(64),这显然不是真正的错误代码,那么怎么得到真正的错误代码呢?代码如下 int YourIOCPClass::GetSock
Error
(SOCKET m_Socket ,W
完成端口Get
Queue
d
Com
p
let
ion
Status
()
返回
错误,怎样获得真正的错误代码
Get
Queue
d
Com
p
let
ion
Status
()
返回
错误,说明I/O
失败
。此时调用GetLast
Error
()得到的往往是
ERROR
_NETNAME_DE
LET
ED(64),WSAGetLast
Error
()也一样,这显然不是真正的错误代码,那么怎么得到真正的错误代码呢? 给出下面的代码: int YourIOCPClass::GetSock
Error
(WSAOVERLAPPED* pW
Get
Queue
d
Com
p
let
ion
Status
函数的
返回
值
1、如果函数从完成端口取出一个成功I/O操作的完成包,
返回
值为非0 2、如果 *lpOverlapped为空并且函数没有从完成端口取出完成包,
返回
值则为0 3、如果 *lpOverlapped不为空并且函数从完成端口出列一个
失败
I/O操作的完成包,
返回
值为0 4、如果关联到一个完成端口的一个socket句柄被关闭了,则Get
Queue
d
Com
p
let
ion
Status
返回
ERROR
_SUCC
C++ 语言
64,636
社区成员
250,540
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章