recv()返回的错误代码为0是什么意思?

flyingjm 2004-09-14 08:37:43
recv()返回的错误代码为0是什么意思?
用WSAEventSelect()模型,客户端第一次连接近来后就触发了FD_WRITE事件
以后再怎么触发啊?我在别的函数SetEvent(pEvnet),pEvent为WSAEventSelect()中的事件句柄,用来等待读写事件的,可是为什么触发不了FD_WRITE,客户端返回0的错误代码
...全文
487 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingjm 2004-09-17
  • 打赏
  • 举报
回复
谢谢各位
alexmayer 2004-09-16
  • 打赏
  • 举报
回复
如果连接已经被正确关闭,返回值为0;
DentistryDoctor 2004-09-15
  • 打赏
  • 举报
回复
如果返回10093,那说明你的初始化没有成功。
gwwgww 2004-09-15
  • 打赏
  • 举报
回复
你写之后会再次触发FD_WRITE,如调用send, sendto, WSASend, or WSASendTo.
flyingjm 2004-09-15
  • 打赏
  • 举报
回复
就是WSAGetLastError()得到的值,服务器端返回10093,表明还没有初始化,可是明明已经初始化了,还可以发信息了,客户端错误为0
flyingjm 2004-09-15
  • 打赏
  • 举报
回复
wuglad(apple) :
你理解的对,呵呵。
flyingjm 2004-09-15
  • 打赏
  • 举报
回复
gwwgww(sdfdsfsfd)
我用SetEvent来触发FD_WRITE可是总是触发不了
wuglad 2004-09-15
  • 打赏
  • 举报
回复
MSDN上是这样解释的:
Return Values
If no error occurs, recv returns the number of bytes received. If the connection has been gracefully closed, the return value is zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError.
看样子是“如果连接被愉快的关闭了,则返回值为0”。我的英语不是很好,但是我想大概是这个意思吧。
gdy119 2004-09-15
  • 打赏
  • 举报
回复
FD_WRITE 的事件最好自己触发!
还有recv()返回是0,说明收到字节是0,也就是缓冲区没数据可读!
smart_jing 2004-09-15
  • 打赏
  • 举报
回复
你的判断条件是不是反了~~我也干过这种事
afc 2004-09-14
  • 打赏
  • 举报
回复
WSAGetLastError()
flyingjm 2004-09-14
  • 打赏
  • 举报
回复
我查过了,没有找到:(
ssyfrank 2004-09-14
  • 打赏
  • 举报
回复
建议你使用msdn来查看一下!

18,356

社区成员

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

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