• ベストアンサー

TCPのタイムアウトについて

初歩的な質問で申し訳ありませんが、一般のTCP/IPの通信を行っている際の、 TCPのタイムアウト値って、どのくらいの時間なんでしょうか? 色々調べたのですが、結局いい答えが検索できず、接続の特性に合わせて 動的に調整されると言う回答がでました。 一般的な値でいいのですが、どなたか教えて下さい。 また、HTTPで通信を行う場合、TCPとは別にHTTPは、APレベルのタイムアウト値を 持っているのですよね? それは、TCPのタイムアウト値より、長いのですか?又は、短い時間となりますか? 以上よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#41381
noname#41381
回答No.1

>一般のTCP/IPの通信を行っている際の、TCPのタイムアウト値って、どのくらいの時間なんでしょうか? > ソケットAPIによってまちまちでしょうし、 それを利用している上位APでタイムアウト値を設定しているでしょうから 一般のTCP/IP通信といっても回答が得られないと思います。 ただ、例えばWindowsで使用されるソケットAPIのWinsockであれば、 ブロック型ソケットの関数のタイムアウト値は決められています(Winsock2では変更可能) ただ、このタイムアウト値も使用する関数によってまちまちだったはずです。(未確認です。すみません。) >HTTPで通信を行う場合、TCPとは別にHTTPは、APレベルのタイムアウト値を持っているのですよね? >それは、TCPのタイムアウト値より、長いのですか?又は、短い時間となりますか? > TCP通信自体がソケットAPIを使用する事になるので、それより長いタイムアウト値を指定しても ソケット側のタイムアウトが先に来ます。 ただ、HTTP通信等上位APでセッションの維持が必要と判断するのであれば、 (winsockの場合)非ブロック型の関数を使用してタイムアウトは長め(もしくはタイムアウトなし) に設定していると思いますよ。 なので、そのHTTPのAP側のタイムアウト設定を見るのが普通かと思います。

関連するQ&A