ACE_Asynch_Acceptor 如何监听UDP
ACE_Asynch_Acceptor 如何监听UDP :LUDP没连接的概念 本帖最后由 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);
其他就都差不多了。 楼上已经写的很详细了。提醒一下。
一般这种问题在ACE的包里有现成的例子,写得非常具体,可以编译运行的。
ACE_wrappers\examples\Reactor\Proactor\Proactor_Udp_Proactor_vc8.vcproj 包里面的例子很多感觉过时了。。。
页:
[1]