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

我有一个Python应用程序,它使用带有socket.MSG_DONTWAIT标志的UDP sendto / recvfrom.在Linux和Mac OS X中,这很好用.但是,此标志在Windows环境中不存在.Windows中的等效标志是什么?另外,如何在Windows中不阻塞send...

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

Windows中的等效标志是什么?另外,如何在Windows中不阻塞sendto / recvfrom?

解决方法:

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

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

本文标题为:Python套接字问题:Windows中的socket.MSG_DONTWAIT

基础教程推荐