|
代码片段如下:
- ACE_Connector<cHandler, ACE_SOCK_CONNECTOR> connector;
- ACE_INET_Addr addr(1025, "192.168.1.222");
-
- cHandler *handler;
- ACE_DEBUG((LM_INFO, ACE_TEXT("(%P|%t) connecting...\n")));
- while (1)
- {
- handler = new cHandler;
- if(connector.connect(handler, addr) == -1)
- {
- ACE_OS::sleep(2);
- continue;
- }
- ACE_DEBUG((LM_INFO, ACE_TEXT("(%P|%t) success.\n")));
- break;
- }
复制代码
cHandler是ACE_Svc_Handler的派生类,问题如下:
如果实现close()方法,必须在该方法中delete this, 释放new出来的对象。
如果不实现close()方法,则new出来的对象会被ACE自动释放。
偶在ACE代码中找了下,似乎没看到哪里自动销毁handler的地方,还请哪位指点一下~ |
|