connect
で失敗していWSAETIMEDOUT
ます。それは問題ありませんが、タイムアウト期間を短くする方法はありますか? 2~3秒くらいかな?現在は 10 秒ほど高いようです。
OS は Windows、C++ で Winsock を使用
を呼び出す前に、ソケットを非ブロック モードにしますconnect()
。エラーで返された場合は、任意のタイムアウト間隔WSAEWOULDBLOCK
で呼び出します。ソケットが書き込み可能になったと報告されたselect()
場合、接続は成功しています。select()
代わりにタイムアウトが報告された場合select()
は、ソケットを閉じます。
これは以前に尋ねられました:WINSOCK-存在しないIPでの接続試行のタイムアウトを設定しますか?
いいえ、IPスタックによって処理されます。この機能を変更する必要がある場合は、タイマーを開始して接続を切断する必要があります。