关于IOCP的一个异常问题
4个工作者线程,每一个连接5个并发收,两个IOCP对象。
一个对象用于连接管理TCP Server,其中有两个辅助线程,一个用于重连(每十秒查询一次,如果没连接则进行连接,两个连续的连接之间有100ms延时),另一个用于实时对每个TCP Server进行通信,大约每一秒向一个TCP Server发送一次。
另一个对象用于管理TCP Client,只是相应TCP Client的命令,如果接收到命令则进行返回。
现在遇到的问题是:启动程序后,连接(十多个连接)的时候CPU会上升到50%,有时CPU在连接成功后会降下来,有时将不下来,紧接着会出现各个TCP Server连续的连接和断开现象,收发也出现异常。大概是什么原因,请各位看官指教,谢谢!
会不会是第一个对象中有两个辅助线程,一个对连接后的Socket进行CreateIoCompletionPort,而另一个对其他连接上的Socket进行收发,导致IOCP部分产生冲突?