【问题标题】:Python sockets question: socket.MSG_DONTWAIT in WindowsPython 套接字问题:Windows 中的 socket.MSG_DONTWAIT
【发布时间】:2023-03-22 02:58:01
【问题描述】:

我有一个 Python 应用程序,它使用带有 socket.MSG_DONTWAIT 标志的 UDP sendto/recvfrom。在 Linux 和 Mac OS X 中,这工作得很好。但是,此标志在 Windows 环境中不存在。

Windows 中的等效标志是什么?或者,如何在 Windows 中进行非阻塞 sendto/recvfrom?

【问题讨论】:

    标签: python windows sockets


    【解决方案1】:

    socket.setblocking(False) 在任何平台上将您的套接字切换到非阻塞模式。在创建套接字时调用一次,您可以删除所有 MSG_DONTWAIT 标志。

    如果您需要在阻塞和非阻塞 I/O 之间切换(通常情况并非如此),请在每次想要在这两者之间切换时调用 socket.setblocking

    【讨论】:

      猜你喜欢
      • 2020-08-08
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 2011-07-09
      相关资源
      最近更新 更多