(問題点)
Socketからデータを読み込むときに、受信データの終わりが判断出来ないため、InputStream.readがブロックされる問題
(対応方法)
- クライアント側のクローズで判断する。
- クライアントがサーバ側へあらかじめ送るデータのバイト数を知らせておく。
- 何らかの特殊文字を決めておき、それに合致する文字が来たらクライアントからのデータ送信完了と判断する。
参考にさせて頂いたページ
Socketからのデータ読み込み考察-InputStream編
sockets - How to identify end of InputStream in java - Stack Overflow