home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2005/04/06/Javaのソケットについてreadタイムアウトやケーブルが外れたとき

日記/2005/04/06/Javaのソケットについてreadタイムアウトやケーブルが外れたとき

日記 / 2005 / 04 / 06 / Javaのソケットについてreadタイムアウトやケーブルが外れたとき
id: 319 所有者: msakamoto-sf    作成日: 2005-04-06 20:04:51
カテゴリ: Java ネットワーク 

Javaのソケットを使ったとき、クライアント側の立場に立った場合以下の状況を考慮する必要が生じました。
1.サーバー側からの応答待ちの時に、ケーブルが抜けた。
2.サーバー側からの応答待ちの間に、サーバー側でソケットをclose()してしまった。

このとき、どうなるのか?結論として、
1.のときはSocketExceptionが発生する。
2.のときは、読み込んだ値が -1 や null となる(例外は発生しない)

1.のときですが、ケーブルが外れた瞬間にSocketExceptionが発生します。
2.ですが、タイミングはわかりませんがInputStreamからバイト配列として読み込んだ場合は読み込んだバイト数が-1で返されます。BufferedReaderなどからreadLine等で文字列として読み込む場合は、nullオブジェクトが返されます。

以上。(JDK1.4)


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-05 20:06:03
md5:3e7588cc0fcdbfce39473ad1dc9604db
sha1:a18971c6f1845c300fd23e4e969a2341ca1b01b7
コメント
コメントを投稿するにはログインして下さい。