Java相談室 Part4

このエントリーをはてなブックマークに追加
>>388
相手がclose()に起因するソケットクローズ処理をしない限り、
readLine()がブロックするのは当たり前。ストリームの終了を
検知した時だけnullを返すという仕様なんだから、ストリームが
終了しない限りIOブロックかかりっぱなし、というのはJavaの
ネットワークプログラミング上の常識でしょう…

ソケットを繋ぎっぱなしでファイル毎の終了検知したいなら、それが
検知できるようなデータで判別するしかない。
ファイルのバイト長を事前に調べておいて、その長さを読み終わったら
ループを強制的にでてしまうとかするしかないんじゃないの?
あとは、ソケットリード専用スレッド別に作って外から読み込み済み
データ見に行くとか。

知識不足の馬鹿のくせに厚意で教えてくれる奇特な人間の善意に
子供っぽい反論するのは損だよ。反感買うだけ。あんたがガキじゃ
ないなら気をつけれ。