yu8873042 发表于 2009-3-4 14:16:48

ACE_Asynch_Connector连接服务器错误

class ProService:public ACE_Service_Handler;
ACE_INET_Addr addr(2000,"127.0.0.1");
ACE_Asynch_Connector<ProService> service;
service.open();
if (service.connect(addr)==-1)
{
ACE_OS::printf("connect failed\n");
return -1;
}
一连接就报异常,断点进去错误报在:
# if defined (ACE_HAS_WTHREADS)
::EnterCriticalSection (m);
谁能帮忙解决下

yu8873042 发表于 2009-3-4 15:04:49

问题解决了,我在Reactor模式下套接字是用WSAStartup初始化的,使用正常。
我在Proactor模式下用WSAStartup初始化套接字就报错误,到网上找不了答案,看到人家用ACE::init(),我就用这初始化套接字,一切正常了,但是具体里面什么原因还不是很清楚。

mao1278 发表于 2009-3-4 15:14:28

在使用ACE时,一定要在之前用ACE::init(),在关闭之后使用ACE::finit()...不知道是不是你事先没有这样使用哦

winston 发表于 2009-3-4 16:58:52

对。因为ACE作为一个框架,执行了很多操作,绝不仅仅是WSAStartup!
可以跟踪一下代码,就明白了。
页: [1]
查看完整版本: ACE_Asynch_Connector连接服务器错误