zh619382862 发表于 2012-9-20 10:26:50

紧急:LINUX使用proactor问题,求大神帮助

一个windows向linux移植的服务端程序,我已经在linux下将代码编译通过了,并且能够执行(循环等待链接请求),但是现在问题来了:当我用windows客户端链接linux服务端时,linux收到链接信号后打印出:“实时信号 0”,然后直接推出了进程。我的程序中用到来了proactor。出问题的关键程序代码如下:
ACE_Asynch_Acceptor<CRouterSession>::open (ListenAddr, 0, 0, 5, 1, 0, 0, 1, 5));
ACE_Proactor::instance ()->proactor_run_event_loop ();
其中CRouterSession类是收到链接后的服务类(注:这个类完全没有被执行)。
我知道linux对proactor的支持不是很好,但是也不至于根本不能运行啊。
小弟我实在不知道哪里出现了问题,还请各位高手指点指点。

zh619382862 发表于 2012-9-20 15:56:19

蝉蝉录玉 发表于 2012-9-20 14:25 static/image/common/back.gif
支持~~支持~~

哎好像没人关注啊

winston 发表于 2012-9-20 23:20:16

在linux下面,别用Proactor。因为异步支持标准的问题,导致出现很多麻烦,直接改成reactor的epoll实现,一点都不麻烦,在论坛里面找资料即可。

zh619382862 发表于 2012-9-21 09:13:18

winston 发表于 2012-9-20 23:20 static/image/common/back.gif
在linux下面,别用Proactor。因为异步支持标准的问题,导致出现很多麻烦,直接改成reactor的epoll实现,一 ...

好的,谢谢了

jonathanliu2004 发表于 2012-11-12 12:21:41

本帖最后由 jonathanliu2004 于 2012-11-12 12:23 编辑

linux 下 配合 TProactor , 很好用, 一直用的很好。

理解其原理,其实reactor与proactor使用的技术都一样,如可采用epoll或者select, 只不过流程不同。所以reactor可以工作,proactor也可以工作。

别小马过河, 重要的是自己去尝试。
页: [1]
查看完整版本: 紧急:LINUX使用proactor问题,求大神帮助