|
>>4599 勉強中 直接的な回答ではありませんが、 http://X68000.q-e-d.net/~68user/net/tcp-connect-1.html をご一読ください。なお、EHOSTUNREACH が No route to host です。 |
|
>68userさん 早速のコメントありがとうございます。 要するにアプリケーションの実装によるということですね。 (つまり、ICMP 終点到達不可メッセージを受信した際に、 ただちにコネクション確立を中止するかしないかというポリシーによるということ) ちなみにftpでもtelnetと同様でした。 |
|
>>4601 勉強中 > 要するにアプリケーションの実装によるということですね。 いいえ、OS の TCP スタックの実装による、だと思います。 アプリ側で対応する、つまり TCP で接続しつつ、ICMP のエラーを解析という ことが可能かどうかはやったことがないのでわかりませんが、少なくとも ftp や telnet という基本的なアプリがそういう小細工をしている可能性は低いと思います。 |
|
>>4602 68user > アプリ側で対応する、つまり TCP で接続しつつ、ICMP のエラーを解析という > ことが可能かどうかはやったことがないのでわかりませんが、少なくとも ftp や > telnet という基本的なアプリがそういう小細工をしている可能性は低いと思います。 ICMP のエラーを解析する必要はなかったですね。connect(2) が -1 を返したとき EHOSTUNREACH なら再接続、などとすればアプリ側で対応できます。 とはいえ、やはり ftp や telnet がそういうことをする必然性はないと思います。 |