我有一个 Python 应用程序,它使用带有 socket.MSG_DONTWAIT 标志的 UDP sendto/recvfrom。在 Linux 和 Mac OS X 中,这工作得很好。但是,此标志在 Windows 环境中不存在。
Windows 中的等效标志是什么?或者,如何在 Windows 中执行非阻塞 sendto/recvfrom?
最佳答案
socket.setblocking(False)
在任何平台上将套接字切换到非阻塞模式。在创建套接字时调用一次,您可以删除所有 MSG_DONTWAIT
标志。
如果您需要在阻塞和非阻塞 I/O 之间切换(通常情况并非如此),每次您想要在这两者之间切换时调用 socket.setblocking
。
关于Windows 中的 Python 套接字问题 : socket. MSG_DONTWAIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588936/