Python子流程:流式输入和流式输出
我有一个用Python编写的服务器,它基本上接受来自客户机的传入连接,并将从客户机接收到的数据反馈到子流程(每个连接一个实例),然后子流程处理数据并将结果返回给服务器,以便它可以将数据发送回客户机Python子流程:流式输入和流式输出,python,subprocess,Python,Subprocess,我有一个用Python编写的服务器,它基本上接受来自客户机的传入连接,并将从客户机接收到的数据反馈到子流程(每个连接一个实例),然后子流程处理数据并将结果返回给服务器,以便它可以将数据发送回客户机 问题是数据正在流入,我需要能够在看不到EOF的情况下执行多个读/写操作。到目前为止,我还无法想出一个解决方案,使我能够做到这一点,而不会让我的服务器程序在读取时被阻止。有什么建议吗?谢谢。听起来您必须建立UDP服务器和客户端。您可以使用(在Unix和Windows上提供) 调用select.selec
问题是数据正在流入,我需要能够在看不到EOF的情况下执行多个读/写操作。到目前为止,我还无法想出一个解决方案,使我能够做到这一点,而不会让我的服务器程序在读取时被阻止。有什么建议吗?谢谢。听起来您必须建立UDP服务器和客户端。您可以使用(在Unix和Windows上提供) 调用
select.select
将被阻止,直到client
socket或proc.stdout
准备好读取为止
rlist
保存准备读取的[client.stdin,proc.stdout]
的子集
可以找到它的用法示例(尽管针对不同的问题)
while True:
rlist, wlist, xlist = select.select([client, proc.stdout], [], [])