如果您关闭非阻塞套接字:
sock.setblocking(False)
...
sock.shutdown(SHUT_RDWR)
是否有可能对shutdown的调用将引发BlockingIOError,如果是,在什么情况下?我没有经历过这种情况,但这(当然)并不意味着它不会发生。
答案 0 :(得分:1)
根据POSIX和Linux文档,shutdown
无法返回EWOULDBLOCK
或等效错误。因此,异步库使no provisions处理此类结果。
尽管shutdown()
向对等方传输(元)数据,但是您可以认为shutdown
即将退出,而操作系统在幕后进行了实际工作。 close()
的工作方式大致相同。