0

ブロックされないように、ソケットに15秒のタイムアウトを設定するように取り組んでいます。だから私はそれをノンブロッキングとして構成し、選択機能を使用し、正常に動作しました...コンピューターがネットワークに接続されている場合!

コンピューターがネットワークから切断されている場合 (たとえば、Wi-Fi 信号がオフになっている場合、またはイーサネット プラグを取り外した場合)、接続関数を呼び出すと、すぐに「ネットワークに到達できません」というエラーが返されます。

このようなことが発生した場合に再接続するためのループがあるため、何度も接続しようとしているため、ギガバイトのログファイルを取得しています。

だから、私が望むのは、それにもある種のタイムアウトを設定することです。実際にはタイムアウトではありませんが、この問題を回避するために、再接続を試みるまで 15 秒待機する必要があります。段落1で説明したように設定したタイムアウトでこれも修正されると思ったとき、私は間違っていました。じゃあこれどうやって作ればいいの?

4

1 に答える 1

2

errnoあなたはそれがでsleepあるかどうかをテストすることができますENETUNREACH

于 2012-04-24T13:56:36.553 に答える