laja 发表于 2011-3-1 19:20:59

lz在最新的代码中
MemoryPools.cpp:70: 错误:从 ‘_MemoryList*’ 到 ‘unsigned int’ 的转换损失精度
MemoryPools.cpp:71: 错误:从 ‘_MemoryBlock*’ 到 ‘unsigned int’ 的转换损失精度

我是64位的linux

freeeyes 发表于 2011-3-2 09:34:22

感谢以上朋友的支持,以上部分的问题我都会在下个版本予以解决。

laja 发表于 2011-3-2 11:06:23

谢谢freeeyes的代码,已经从头到尾深入研究了

djoin 发表于 2011-3-4 21:52:57

本帖最后由 djoin 于 2011-3-4 22:01 编辑

楼主:
hhjj6363说的是问题之一
问题之二是:假如当我服务器接收到另个服务器的数据,这时我想把接收到的数据转发给连接上本服务器的客户端1,这个时候,CProConnectHandle里没有调用CheckMessage()函数( m_nIOCount就没有++)
但是却调用了PutSendPacket(。。)函数,这样就会产生把数据发送出去,这个客户端1就被服务器给关闭了现象

freeeyes 发表于 2011-3-7 09:37:44

十分感谢各位的关注,各位的意见将是我前进的动力。
上周忙于工作,这周开始修改以前的BUG,并解决以上的问题,另外大家谁有觉得不好使或者BUG或者意见之类的,请在这里留言,我会一一改进。

laja 发表于 2011-3-7 18:43:41

本帖最后由 laja 于 2011-3-7 20:28 编辑


void CAceReactor::Close()
{
        if(NULL != m_pReactor)
        {
                m_pReactor->close();
                delete m_pReactor;//<----------------这里在服务中断时有时会有 Segment fault
                m_pReactor = NULL;
        }

        m_nReactorType = 0;
        m_nThreadCount = 0;
        m_blRun      = false;
}
另外,int CAceReactor::svc()会在delete m_pReacto后调用...

arrow8209 发表于 2011-3-11 17:04:48

本帖最后由 arrow8209 于 2011-3-13 20:20 编辑

版主你可以在google上建一个版本管理器吗。学习的朋友可以很方便的学习,而且我们还可以通过你的查看日志,更好的了解这个框架。如果有一个UML图更好。没有UML图看起来有点麻烦。
您现在的框架支持“中间服务器”,这部分看我的有点晕乎乎的,纯粹是个人建议,能不能吧框架进行 拆分,分成两个部分,一个是ACCEPTOR一个是CONNECTOR,这样我们就可以更好的专注于逻辑业务的开发,而且更多的时候作为CONNECTOR我连链接的服务器不一定就我自己写的服务器,我们接收的数据形式可能千奇百怪,这时候在使用您现在写的数据分包的方式就没法适用了。

freeeyes 发表于 2011-3-15 09:42:57

等我的版本测试BUG基本差不多了,还有我的帮助文档也写的差不多了,能够给大家帮助的时候,我就会把这些代码上传到google上。以上的问题,我都会针对性的修改和完善。

modern 发表于 2011-3-16 15:32:59

版主你可以在google上建一个版本管理器吗。学习的朋友可以很方便的学习,而且我们还可以通过你的查看日志, ...
arrow8209 发表于 2011-3-11 17:04 http://www.acejoy.com/bbs/images/common/back.gif
确实

piaoliushi 发表于 2011-3-21 13:38:55

bool CProServerManager::Close()
{
        OUR_DEBUG((LM_INFO, "Close begin....\n"));
        App_MakePacket::instance()->Close();
        OUR_DEBUG((LM_INFO, "Close App_MakePacket OK.\n"));
        App_MessageService::instance()->Close();
        OUR_DEBUG((LM_INFO, "Close App_MessageService OK.\n"));
        App_TimerManager::instance()->close();
        App_ProConnectManager::instance()->CloseAll();
        OUR_DEBUG((LM_INFO, "Close App_ConnectManager OK.\n"));
        App_ClientProConnectManager::instance()->Close();
        OUR_DEBUG((LM_INFO, "Close App_ClientReConnectManager OK.\n"));
        AppLogManager::instance()->Close();
        OUR_DEBUG((LM_INFO, "AppLogManager OK\n"));
        App_ProactorManager::instance()->StartProactor();
        OUR_DEBUG((LM_INFO, "Close App_ReactorManager OK.\n"));       
        OUR_DEBUG((LM_INFO, "Close end....\n"));

        return true;
}

此处的App_ProactorManager::instance()->StartProactor();是否为笔误??应该改为:
App_ProactorManager::instance()->StopProactor();并且日志记录的信息也是不对的。
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22
查看完整版本: ACE开源服务器研究(SVN和git版本持续更新中)