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

标签 python windows sockets

我有一个 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/

相关文章:

java - TCP 反向代理 Minecaft 未发送原始 IP

python - 导出到带有目录的 Jupyter 笔记本的 HTML 不会嵌入绘图

windows - 在使用 native OpenSSH 的 ssh-agent 配置良好的 Windows 10 上,如何让 git 的实现使用配置的 ssh-agent?

java - 使用BufferedOutputStream/BufferedInputStream的socket随机接收虚假数据

c++ - COM 中的 Release() 函数

c++ - 从基于 Windows 的应用程序远程运行 Linux 命令

sockets - RPC clnt_call 立即发送 tcp [FIN, ACK]

python - paramiko 服务器模式端口转发

Python列表json转换为列表

python - 使用 Python MYSQL.Connector 插入 MySQL 表时出现错误