ACE_Acceptor ACE_TP_Reactor
ACE_Acceptor<CServer_Acceptor,ACE_SOCK_ACCEPTOR> acceptor;//连接工厂class CServer_Acceptor: public ACE_Svc_Handler<ACE_SOCK_STREAM,ACE_MT_SYNCH>
{
public:
CServer_Acceptor();
~CServer_Acceptor();
virtual int handle_input(ACE_HANDLE fd = ACE_INVALID_HANDLE);
virtual int handle_close(ACE_HANDLE /* = ACE_INVALID_HANDLE */, ACE_Reactor_Mask /* = ACE_Event_Handler::ALL_EVENTS_MASK */);
};
int handle_close(ACE_HANDLE ,ACE_Event_Handler)
{delete this;
return 0;
}
请高手指点:当有连接时,ACE_Acceptor框架会新建服务处理器,通信结束时,在哪里释放服务处理器比较好呢?现在是在handle_close方法里,用delete this实现的,请问有没有更合适的方法?
多谢 这个是比较常见方法吧,用handle close来delete this,把析构函数声明为private来强制new
将回收处理交给对象自己不是挺好的么 ACE_Sock_Stream 的send 、recv方法设置超时怎么觉得不起作用呢? ACE_Sock_Stream 的send 、recv方法设置超时怎么觉得不起作用呢?
xiliang_pan 发表于 2010-12-8 14:50 http://www.acejoy.com/bbs/images/common/back.gif
呃... ...不会吧,你怎么确认的没起作用,代码是怎么写的。 因为接收数据时,接收的数据量很大,指定的n没有起到作用,永远都不会超时 有QQ吗?
页:
[1]