用于环螺纹迷你网popen

2024-04-28 09:01:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的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()

Tags: 程序服务器脚本clientfor客户机server方式