找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5085|回复: 3

ACE_Asynch_Connector连接服务器错误

[复制链接]
发表于 2009-3-4 14:16:48 | 显示全部楼层 |阅读模式
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);
谁能帮忙解决下
 楼主| 发表于 2009-3-4 15:04:49 | 显示全部楼层
问题解决了,我在Reactor模式下套接字是用WSAStartup初始化的,使用正常。
我在Proactor模式下用WSAStartup初始化套接字就报错误,到网上找不了答案,看到人家用ACE::init(),我就用这初始化套接字,一切正常了,但是具体里面什么原因还不是很清楚。
发表于 2009-3-4 15:14:28 | 显示全部楼层
在使用ACE时,一定要在之前用ACE::init(),在关闭之后使用ACE::finit()...不知道是不是你事先没有这样使用哦
发表于 2009-3-4 16:58:52 | 显示全部楼层
对。因为ACE作为一个框架,执行了很多操作,绝不仅仅是WSAStartup!
可以跟踪一下代码,就明白了。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-7 18:27 , Processed in 0.010954 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表