質問1
SUSE の man ページから、ソケット接続オプションの以下の詳細を取得します
開始ソケットが接続モードの場合、connect() は、アドレス引数で指定されたアドレスへの接続を確立しようとします。接続をすぐに確立できず、ソケットのファイル記述子に O_NONBLOCK が設定されていない場合、connect() は、接続が確立されるまで、指定されていないタイムアウト間隔までブロックします。接続が確立される前にタイムアウト間隔が切れた場合、connect() は失敗し、接続の試行は中止されます。connect() が、ブロックされて接続の確立を待機している間に捕捉されたシグナルによって割り込まれた場合、connect() は失敗し、errno を [EINTR] に設定しますが、接続要求は中止されず、接続は非同期的に確立されます。
質問 : 上記の内容は AIX OS (特に接続タイムアウト、タイムアウト待機など) に有効ですか? AIX の man ページ (5.1 および 5.3) には表示されないため
質問2
属性がaのクライアントソケットがあります
。SO_RCVTIMEO 、SO_SNDTIMEO は 5 秒に設定されます。
b. AF_INET と SOCK_STREAM。
c. SO_LINGER のリンガーがオンで、時間は 5 秒です。
d. SO_REUSEADDR が設定されています。
クライアントソケットは O_NONBLOCK ではないことに注意してください。
質問 : O_NONBLOCK が設定されておらず、SO_RCVTIMEO と SO_SNDTIMEO が 5 秒に設定されているため、これはどういう意味ですか?
を。NON Blocking または Blocking で接続しますか?
b. ブロックする場合、それは時限ブロックですか、それとも「無限」の時間ブロックですか?
c. 無限の場合、タイムアウトが t 秒の O_BLOCKING である「接続」システムコールを確立するにはどうすればよいですか。
質問が非常に素朴で申し訳ありません。
ご意見をお寄せいただきありがとうございます。