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) |