如何清除掉socket发送缓存区中的数据
如果socket连接断了,但发了一串字符命令到发送缓存区中,如果连接恢复以后,再发下一条命令,会把上一次留在缓存区中的命令一起发出去。
看了一些以前的帖子,socket的缓存区是由内核来维护的无法清除。不知道有没有什么别的办法来做到这点。
因为我用select在连接中断后,检查socket句柄是否可写,返回结果是可以写的。这样就很难避免这种连接中断,但是依然可以send成功的情况。
如果没有办法来清空发送缓冲区,那是否有能及时检查到socket连接断开的方法?