找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4981|回复: 4

ACE_Asynch_Acceptor 如何监听UDP

[复制链接]
发表于 2010-11-8 13:29:28 | 显示全部楼层 |阅读模式
ACE_Asynch_Acceptor 如何监听UDP
 楼主| 发表于 2010-11-8 14:07:26 | 显示全部楼层
:L  UDP没连接的概念
发表于 2010-11-8 15:36:06 | 显示全部楼层
本帖最后由 modern 于 2010-11-8 15:42 编辑

派生类直接继承ACE_Service_Handler
持有一个成员变量
ACE_SOCK_Dgram m_sockDgram;//用于读SOCKET的对象
ACE_Asynch_Read_Dgram m_rd;
//用于写SOCKET的对象
ACE_Asynch_Write_Dgram m_wd;
自己定义一个open函数,里面调用
m_sockDgram.open();
this->m_rd.open(*this,this->m_sockDgram.get_handle(),0,ACE_Proactor::instance());
this->m_rd.open(*this,this->m_sockDgram.get_handle(),0,ACE_Proactor::instance());

实现下面两个回调
virtual void  handle_write_dgram (const ACE_Asynch_Write_Dgram::Result &result);
virtual void  handle_read_dgram (const ACE_Asynch_Read_Dgram::Result &result);
其他就都差不多了。
发表于 2010-11-10 23:41:17 | 显示全部楼层
楼上已经写的很详细了。提醒一下。
一般这种问题在ACE的包里有现成的例子,写得非常具体,可以编译运行的。
ACE_wrappers\examples\Reactor\Proactor\Proactor_Udp_Proactor_vc8.vcproj
发表于 2010-11-11 22:34:47 | 显示全部楼层
包里面的例子很多感觉过时了。。。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-16 12:26 , Processed in 0.016547 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表