- PR -

Socket接続時のタイムアウトについて

1
投稿者投稿内容
RyoZy
会議室デビュー日: 2005/09/08
投稿数: 15
投稿日時: 2007-09-13 22:23
Linuxから別筐体へのSocket接続時のタイムアウトについて調べていますが、
タイムアウト値をどこに設定しているかがわかりません。
どなたかご教授ください。

Socket() → Socket.connect(SocketAddress endpoint, int timeout)
とすれば、タイムアウト値を設定できることはわかっていますが、
Socket接続時は以下のメソッド(コンストラクタ)で行っています。
 Socket(InetAddress address, int port)

宛先は存在しないIPを指定したときに、約3秒でタイムアウトの例外を検知します。
この3秒はどこで設定しているものかがわかりません。
/proc/sys/net/ipv4/tcp_* に設定があるかと思ったのですが、
該当するものが見つかりませんでした。
Socket()の処理でデフォルトでもっているのでしょうか。
よろしくお願いします。


開発環境:JDK1.4
対象OS:Red Hat Enterprise Linux ES release 3 (Taroon)
     Kernel 2.4.21-4.ELsmp on an i686
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-09-14 00:41
この辺はどうですかね↓
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/net/properties.html

RyoZy
会議室デビュー日: 2005/09/08
投稿数: 15
投稿日時: 2007-09-20 15:19
>小僧さん

ご連絡ありがとうございます。

関係ありそうなプロパティーとして
socket接続前に以下をコーディングして実行してみましたが、
現象変わりませんでした。
 System.setProperty("sun.net.client.defaultConnectTimeout", "10000");

やむなく、Socket.connect() に修正する方向で検討します。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)