一段让人费解的话,关于CSocket的

mmyybbs 2004-03-25 09:35:16
CSocket对象实际是一个两态对象,有时异步(通常的状态)有时同步。在异步态,套接字能够接受来自框架的一不通告。但在操作过程中,例如接收或发送数据时,套接字就切换到同步状态。这意味着,套接字将不能接收其他异步通信,直到同步操作完成。对于其模式切换,程序员能够进行如下操作:
CMySocket::OnReceive()
{
...
ar>>str;
...
}
如果CSocket不是作为两态对象实现的,它在执行先前的通告时,可能会接收到同一事件的额外通告。例如,可能在执行一个OnRecive 时得到另一个OnReceive通告。在上面的代码段中,将字符串str从归档中加载的操作可能出现递归。通常的规则是:在通告中禁止通告。

上面两段摘自《VC++网络高级编程技术》,第二段是什么意思,我一直搞不懂,CSocket在执行先前的通告时会接收到同一事件的额外通告吗?CAsyncSocket呢?如果是,OnReceive函数又该如何改写呢?
...全文
23 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
solarsoft 2004-03-26
  • 打赏
  • 举报
回复
不明白说什么时,你可以去看看CSocket code.学mfc而不去看code,最终还是半知半解
HuangRG 2004-03-26
  • 打赏
  • 举报
回复
简单的基于MFC的应用程序才考虑用MFC SOCKET,很多时候直接用Winsock API好点.对这种MFC SOCKET不要花太多时间去思考.
mmyybbs 2004-03-26
  • 打赏
  • 举报
回复
急呀

18,356

社区成员

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

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