• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

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

ltz 2001-07-12 07:45:59
WSAGetOverlappedResult()返回重叠操作的结果后,如何判断这一操作是发送操作还是接收操作呢?
...全文
608 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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函数中通过完成过程来设置标志。

回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-07-12 07:45
社区公告

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