在我的Python程序中,使用mininet,我有一个for循环,其中每个客户机运行一个Java程序,其中的输出是一个时间(整数),这个时间(整数)是由Python脚本写入文本文件的popen
中捕获的。在
但是,每个客户机只运行一次,需要重新连接到服务器程序以获得另一个时间。其工作方式是让每个客户机连续连接并从服务器接收一段时间,直到程序完成。在
在client for循环中添加一个while True
循环将不起作用,因为脚本的其余部分在手动关闭之前永远不会完成。在
那么,如何使每个客户机都可以使用以下方式连续连接到服务器:
args = 'java -jar client.jar ' + str(server[0].IP()) + ' ' + server[1] + ' report ' + device_id + ' ' + level
popens[client] = \
client.popen(args)
以下是我使用的代码:
^{pr2}$注意:我尝试过以下方法,但没有收到任何次数:
def thread_client(popens, client, args):
popens[client] = \
client.popen(args)
for client in clients:
# Get random server from servers list
server = random.choice(servers.items())
args = 'java -jar client.jar ' + str(server[0].IP()) + ' ' + server[1] + ' report ' + device_id + ' ' + level
c = threading.Thread(target=thread_client, args=(popens, client, args,))
c.start()
目前没有回答
相关问题 更多 >
编程相关推荐