Chinaunix首页 | 论坛 | 博客

idk

  • 博客访问: 89072
  • 博文数量: 2
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-16 15:37
文章分类

全部博文(2)

文章存档

2008年(2)

我的朋友

分类: C/C++

2008-09-10 15:47:44

int SP_DefaultMsgDecoder :: decode( SP_Buffer * inBuffer )
{
    mBuffer->reset();

    //2008-9-4 idk: 没有数据时如果返回eOK会导致CPU占用很高
    if (inBuffer->getSize() <= 0)
    {
        return eMoreData;
    }
    //idk: end

    mBuffer->append( inBuffer );

    inBuffer->reset();

    return eOK;
}

在未修改前,当接收到第一次数据后CPU占用100%

另外一处或许不能称为bug,但个人感觉是应该修改的
在sphandle.hpp中
virtual void close() = 0;
修改为:
virtual void close(SP_Request* request) = 0;
这样就可以在客户端断开连接时知道相应客户端的信息,因为服务器可能会保存了该客户端的一些相关信息,断开时需要释放,如果不知道那个客户端断开了怎么释放呢?
阅读(608) | 评论(0) | 转发(0) |
0

上一篇:win98 GetPrivateProfileString错误

下一篇:没有了

给主人留下些什么吧!~~