
.dllを使用して2台のコンピュータにiperfをインストールしましたyum install iperf
。
サーバーAでは、を実行し、iperf -s
サーバーBIでは以下を実行しました。iperf -c ipv4here
次のエラーが発生します。
connect failed: Operation now in progress
このエラーを見つけましたが、説明が見つかりませんでした。どういう意味ですか?問題を解決するにはどうすればよいですか?
私はセントース7を使っています。また、以下を使用して事前定義されたiperfサーバーに接続しようとしました。
iperf -c bouygues.iperf.fr
AマシンとBマシンの両方が成功しました。そういえば、私に何か問題があるのは明らかだ。
答え1
~によるとマニュアルページconnect
、エラーEINPROGRESS
(「作業中」)は実際にはエラー状態を示しません。代わりに、これは「ソケットがブロックされていないため、すぐに接続を完了できません」を意味します。ノンブロッキングソケットを使用するすべてのプログラムは、それを認識して内部的に処理する必要があります(select()完了またはその他の操作を介して)。 iperfが失敗し、このエラーが表示されるため、開発者に報告する必要があるバグが見つかったようです。
答え2
サーバーが同じバージョンのiperfを実行していることを確認してください。
iperf3
サーバーで実行してiperf
クライアントからコマンドを試みると、同じメッセージが表示されます。
iperf3
うまくいくのは、クライアントにインストールして実行することです。
答え3
ファイアウォールも確認してください。このエラーが発生します。
私はsudo ufw disable
それがiperf
動作することがわかりました。もちろん、sudo ufw enable
後でファイアウォールを再インストールする必要があります。