|  | 
 
| 看了ACE_Connector.close()的代码,里面有释放Handler对象的操作。但用例子测试了一下,发现有个奇怪的问题,就是ACE_Connector.close调用之后,还可以成功通过Handler对象来发送数据。用例如下: connector.close()调用之后,最后的一个snd操作是可以成功的, 而且MyServiceHandler 的析构函数也没有立刻调用。复制代码    MyServiceHandler * handler= new MyServiceHandler;        Connector myconnector;        myconnector.connect(handler, addr);                   handler->Peer()->send(argv[1],20);            ACE_OS::printf("before recv in main\n");            ret =  handler->Peer()->recv(date, 20);            ACE_OS::printf("after recv in main, back date is %s, ret = %d \n", date, ret);                          myconnector.close();        //delete handler;                  ACE_OS::sleep(2);                ret = handler->Peer()->send(argv[1],20);     ACE_OS::printf("before exit, ret = %d \n", ret);
但是把红色的部分注释去掉的话,后面的发送就失败了。
 
 哪位老大帮忙解答一下。多谢多谢。
 | 
 |