|
180个客户端同时连接服务器, 循环发送一条信息...服务器接收到消息后...循环发送给所有的客户端...
就是说: 服务器做到 180*180个写操作时没有问题...
但是 当240个同时连接时,服务器就挂了...
Proactor下...
bool CUser::Send( void* pBuf, int nLen )
{
if ( !m_bValid.value() )//连接已经失效,不可以再发送
{
return false;
}
ACE_Message_Block* mb = new ACE_Message_Block( nLen );//这里挂掉了...
if ( 0 == mb )
{
delete this;
return false;
}
ACE_OS::memcpy( mb->wr_ptr(), pBuf, nLen );
mb->wr_ptr( nLen );
if ( -1 == put(mb) )
{
delete this;
return false;
}
return true;
}
这是跟机器性能有关系...还是我的代码还不够健壮?
应该有什么解决的办法的吧? |
|