zhumingjian1229 发表于 2010-11-8 13:29:28

ACE_Asynch_Acceptor 如何监听UDP

ACE_Asynch_Acceptor 如何监听UDP

zhumingjian1229 发表于 2010-11-8 14:07:26

:LUDP没连接的概念

modern 发表于 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 voidhandle_write_dgram (const ACE_Asynch_Write_Dgram::Result &result);
virtual voidhandle_read_dgram (const ACE_Asynch_Read_Dgram::Result &result);
其他就都差不多了。

lvtao 发表于 2010-11-10 23:41:17

楼上已经写的很详细了。提醒一下。
一般这种问题在ACE的包里有现成的例子,写得非常具体,可以编译运行的。
ACE_wrappers\examples\Reactor\Proactor\Proactor_Udp_Proactor_vc8.vcproj

wuyudry 发表于 2010-11-11 22:34:47

包里面的例子很多感觉过时了。。。
页: [1]
查看完整版本: ACE_Asynch_Acceptor 如何监听UDP