在基于重叠IO的socket应用中,WSAGetOverlappedResult()返回重叠操作的结果后,如何判断这一操作是发送操作还是接收操作呢?

ltz 2001-07-12 07:45:59
WSAGetOverlappedResult()返回重叠操作的结果后,如何判断这一操作是发送操作还是接收操作呢?
...全文
687 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltz 2001-07-19
  • 打赏
  • 举报
回复
哦,谢谢你,哈哈,我的问题问完了,谢谢了
xxxbird 2001-07-18
  • 打赏
  • 举报
回复

通过WSAGetOverlappedResult()是无法知道是发送操作还是接收操作的。原因你可以看一下OVERLAPRESULT(?记不清是不是这样写)结构的定义。

通常是不需要设置WSASend的事件过程或完成过程的,但是可能在一些特定的场合时需要。例如,如果你需要检查数据是否已经全部发出时,就需要设置了。

ltz 2001-07-18
  • 打赏
  • 举报
回复
分已加上
ltz 2001-07-18
  • 打赏
  • 举报
回复
哈哈,没关系,我知道你说的是WSASend/WSARecv,我还有个疑问,通过WSAGetOverlappedResult()的返回结果是没法知道是发送操作还是接收操作的,是吗?不过分先加上了。还有,在什么时候有必要设置WSASend的事件过程或完成过程呢,我觉得一般没有必要吧,只设置WSARecv()的就可以的了吧?
xxxbird 2001-07-17
  • 打赏
  • 举报
回复

>>WSARead/WSARecv
写错了,应为WSASend/WSARecv

xxxbird 2001-07-17
  • 打赏
  • 举报
回复

不能同时设置事件和完成过程。完成过程是在WSARead/WSARecv等函数完成后调用的。它不能用于read/send之类的函数。

ltz 2001-07-17
  • 打赏
  • 举报
回复
抱歉这两天有事没来,请问如果用完成过程的话,还用设置事件吗,如果用事件的话,是不是在调用了read或send后,接着调用完成过程,然后调用事件例程呀,回答该问题后,马上加分,再次谢谢您!
xxxbird 2001-07-15
  • 打赏
  • 举报
回复
up
xxxbird 2001-07-12
  • 打赏
  • 举报
回复

可以通过在Read/Send操作时设置不同的事件来标识或在Read/Send函数中通过完成过程来设置标志。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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