hardcorn 发表于 2008-12-27 15:23:56

ACE_Proactor在DLL中使时,事件不能响应!

在Win32平台上,ACE_Proactor放在DLL中使时,是不是有什么注意事项啊?

我用ACE_Proactor写了一个网络数据收发类,直接以源代码方式用这个类,没问题,建立连接,收发数据都OK。

可以,我将这类的代码,放在DLL中,以接口形式导出其功能,再去使用,就有问题,连接都无法建立!!!

我检测了一下网络包,发现TCP 三次握手的包都已成功发/收完,可是ACE_Proactor的连接成功建立事件没有响应!


这是为何? 请高人指点! 先谢过.

winston 发表于 2008-12-27 20:22:37

没有运转起来吧?感觉好像是这样。没这样使用过,也不好说咋回事。

hardcorn 发表于 2008-12-29 10:05:59

ACE_Proactor 的事件循环是正常运行的:

           
  ACE_Time_Value t(10);
  while ( ACE_Proactor::event_loop_done () == 0 )
  {
    ACE_Proactor::run_event_loop (t);
   }

但就是没有任何响应, 感觉ACE在脆弱了...

hardcorn 发表于 2008-12-29 11:17:34

晕,问题,找到了

手误,:@ 严重的手误;

问题就在上边的代码中:

  while ( ACE_Proactor::event_loop_done () == 0 )

  {

    ACE_Time_Value t(10); //就这句放这就OK了,t是以引用方式传进去的,当其值减到0时,事件循环其实在空转

    ACE_Proactor::run_event_loop (t);

   }

哎, 不是ACE脆弱,是我的手太脆弱...

winston 发表于 2008-12-29 12:36:50

哈哈哈,先怀疑自己的代码是第一个要干的事情!
页: [1]
查看完整版本: ACE_Proactor在DLL中使时,事件不能响应!