在 UNIX 上,我可以在 Python 中sys.stdin
传递select.select
。我试图在 Windows 上执行此操作,但select.select
在 Windows 上的 Python 中不允许这样做。
要更准确地描述我在做什么,请参阅https://github.com/eldarion/gondor-client/blob/ccbbf9d4b61ecbc2f66f510b993eb5fba0d81c09/gondor/run.py。
该unix_run_poll
功能是我试图在 Windows 上完成的。基本思想是,我有一个到服务器的套接字连接,该服务器已将流式标准输入、标准输出、标准错误连接到远程运行的进程,并且我从本地客户端与它进行交互,并使其看起来好像本地客户端正在运行过程。
这win32_run_poll
是我将它移植到 Windows 的尝试,它确实可以工作。这有点不稳定,而且 IMO 的方法非常糟糕。
有人对如何改进有任何建议吗?对 win32api 的依赖并不理想,但我可以保留它。