问题描述
我正在尝试将TCP套接字中的流代理到设备文件。当套接字上有可用数据时,应将其写入设备文件。同样,当设备中有可用数据时,应将其写入套接字。
我想避免不得不使用繁忙循环,但是我不知道如何正确读取设备文件。如何执行阻止调用以同时读取TCP套接字和设备文件?理想情况下,我不需要使用第二个线程。
我的最初想法是使用select()进行阻塞,直到流或文件描述符上的数据可用为止。但是,始终可以读取文件描述符,因此select总是立即返回。据我了解,select仅会告诉我IO操作是否会阻塞。在这种情况下,文件描述符将永远不会阻塞。
这里是一个示例,它将连续读取零长度字节而不会阻塞:
from win32com import client as wc
data = memoryfile.read() # bin data
w = wc.dispatch('Word.Application')
doc = w.Documents.Open(data) # raise error here,
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)