这就是我想做的:使用PyQt4构建GUI程序,使两台计算机之间的测试连接更容易(以尽量减少人为错误)。因此,该程序的一部分是使用QProcess启动iperf3,充当客户机或服务器。QProcess能够成功启动iperf3并输出结果,然而,由于某种原因,PyQt中的iperf3客户端无法连接到服务器,尽管我能够从终端连接到服务器。
下面是作为服务器和客户端的情况和组合的简要描述
- iperf3在终端作为客户端-> iperf3在PyQt作为服务器- success
- iperf3在终端作为客户端-> iperf3在终端作为服务器- success
- iperf3在PyQt作为客户端-> iperf3在PyQt作为服务器-无法连接
- iperf3在PyQt作为客户端-> iperf3在终端作为服务器-无法连接
我检查了防火墙,我禁用了它,看看它是否解决了这个问题,它没有。如果您想知道我在终端中为iperf3使用了哪些命令,下面是它:
- Client - iperf3 -c 127.0.0.1 -u -t 10
- Server - iperf3 -s
对于QProcess:
- self.process。start('iperf3',['-c 127.0.0.1 -u -t 10'])
- self.process.start("iperf3",[' s '])
好了,我明白了。错误在QProcess的代码中,即
self.process。Start ('iperf3',['-c 127.0.0.1 -u -t 10'])
应该是
self.process.start (' iperf3 ', ' c ',‘127.0.0.1’,‘- u ', ' - t ', ' 10 '])