深圳全飞鸿

标题: socket 10054 [打印本页]

作者: zhgc    时间: 2022-3-3 21:57
标题: socket 10054


作者: zhgc    时间: 2022-3-3 22:53
SO_LINGER
在默认情况下,当调用close关闭socke的使用,close会立即返回,但是,如果send buffer中还有数据,系统会试着先把send buffer中的数据发送出去,然后close才返回.



为什么又能得到10054的错误号,
原因应该在于你设置了SO_LINGER了,
一但设置了它,则有一个等待时间,在该等待时间内可以处理发送缓冲区的数据,一但超时或者发送缓冲都被发送完并被确认,则服务端有可能发送RST消息而不是FIN,
此时客户端就应该得到重置错误,也就是10054。





欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2