在进行服务器开发时,有很多需要注意的地方:
1、socket索引对应一个客户端,这是很常用的做法,但是如果此socket出现异常,服务端关闭了
此socket,而另一个客户端又连接进来,此时分配的socket句柄很有可能跟刚才的句柄一样
这样便会导致数据接收发送混乱,一些很难调试的异常随之发生,预防的方法是,除了用socket对应
一个客户端,还要用一个循环索引wRoundIndex对应,每连接进来一个客户端,wRoundIndex都加一,
这样即使分配到了同样的socket,也不会出现异常
2、当然,在不同的服务器架构中,循环索引并不是必须的
3、CancelIo、CancelIoEx能起到帮助性作用?但:要注意,CancelIOEx需要Windows Server 2008及以上、Windows Vista及以上。