异步非阻塞套接字避免了死循环的接收问题,但是软件用起来体验还是很差.究其原因,软件在指令的发送.接收上, 采取了一种不合理的方式:在指令的发送后,立刻调用接收函数,等待回令. 若是采用同步阻塞套接字,那么如果连接出现问题没有回令,那么软件进程会始终等待锁死,这样显然是不合理.于是 采用同步非阻塞的接收方式,timeout被设置为NULL.这时会出现发令与回令的错位问题.这是由于,相应回令没有及时到 达,而接收函数已经返回,第一条发令被当做无回令处理:而此时回令被堆积在了缓冲区,被第二条发令接收到…