在ACE中关于ACE_Asynch_Acceptor类编程的问题
在ACE中关于ACE_Asynch_Acceptor类编程的问题
class Receiver : public ACE_Service_Handler
{
.......
}
.
.
.
ACE_Asynch_Acceptor <Receiver> acceptor;
int i=acceptor.stream_read_done_;//这一句编译的时候出错
提示为:error C2039: 'getdonesigal ' : is not a member of 'ACE_Asynch_Acceptor <class Receiver> '
stream_read_done_是我在类Receiver 定义的public属性
本人是新手,不熟悉模版编程,请大侠们诊断我该如何修改stream_read_done_的定义办法?
是不是非模版类定义的方法和属性在实例里面无法访问?
谢谢!
[解决办法]
acceptor.stream_receive_done_
acceptor没有这个属性,只有Receiver有这个属性啊。如果一定要这么用的画,建议重载ACE_Async_Acceptor类和其函数make_handler。
另外,只有make_handler调用后(Accept了客户端连接的时候调用这个函数),Receiver才能被创建。显然不能只open就调用Receiver。