Python套接字问题:Windows中的socket.MSG_DONTWAIT

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

什么是Windows中的等效标志? 另外,我怎样才能在Windows中阻塞sendto / recvfrom?

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

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