代码之家  ›  专栏  ›  技术社区  ›  Michal Charemza

python non-blocking socket shutdown:是否可以引发blockingioerror?

  •  0
  • Michal Charemza  · 技术社区  · 7 年前

    如果关闭非阻塞套接字:

    sock.setblocking(False)
    ...
    sock.shutdown(SHUT_RDWR)
    

    是否有可能调用shutdown会引发阻塞错误,如果是,在什么条件下?我没有经历过这种情况,但这(当然)并不意味着它不可能发生。

    1 回复  |  直到 7 年前
        1
  •  1
  •   user4815162342    7 年前

    根据 POSIX Linux 文档, shutdown 不能返回 EWOULDBLOCK 或等效误差。因此,Asyncio库使 no provisions 处理这样的结果。

    虽然 shutdown() 将(元)数据传输到对等端,您可以想到 关机 当操作系统在后台完成实际工作后立即退出时。 close() 工作原理大致相同。

    推荐文章