1

これが私がやろうとしていることです: PyQt4 を使用して GUI プログラムを構築し、2 台のコンピューター間の接続のテストを容易にします (人的エラーを最小限に抑えるため)。したがって、このプログラムの一部は、QProcess を使用して、クライアントまたはサーバーとして機能する iperf3 を開始することです。QProcess は正常に iperf3 を開始して結果を出力できましたが、ターミナルからサーバーに接続できたにもかかわらず、何らかの理由で PyQt の iperf3 クライアントがサーバーに接続できません。

サーバーとクライアントとして機能する状況と組み合わせの簡単な説明を次に示します。

  • クライアントとしてのターミナルの iperf3 -> サーバーとしての PyQt の iperf3 - 成功
  • クライアントとしてのターミナルの iperf3 -> サーバーとしてのターミナルの iperf3 - 成功
  • クライアントとしての PyQt の iperf3 -> サーバーとしての PyQt の iperf3 - 接続できません
  • クライアントとしての PyQt の iperf3 -> サーバーとしてのターミナルの iperf3 - 接続できません

ファイアウォールを確認し、無効にして問題が解決するかどうかを確認しましたが、解決しませんでした。念のため、ターミナルで iperf3 に使用したコマンドについて知りたい場合は、次のとおりです。

  • クライアント - iperf3 -c 127.0.0.1 -u -t 10
  • サーバー - iperf3 -s

QProcessに関しては:

  • self.process.start('iperf3',['-c 127.0.0.1 -u -t 10'])
  • self.process.start('iperf3',['-s'])

さらに詳しい情報が必要な場合は、お知らせください。この問題に関するヘルプ/洞察に感謝します。ところで、私はこのプログラムを今のところラップトップでローカルにテストしているので、ループバック アドレスを確認する必要があります。

4

1 に答える 1

1

さて、私はそれを理解しました。間違いは 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'])

于 2015-09-10T17:42:16.087 に答える