サーバーの応答を受信するためにJavaソケットプログラミングを使用しています。メソッドchar array
を使用して、その中の各応答を使用しています。read()
InputStream stream = null;
try{
stream = socket.getInputStream();
}catch(Exception e){
conn_lost();
}
if(stream != null){
input = new BufferedReader(new InputStreamReader(
stream));
Looper.prepare();
char a[] = new char[1000];
for(int i =0; i < a.length; i++){
a[i] = ' ';
}
while (true){
input.read(a);
String response = String.valueOf(a);
process_server_response(response);
for(int i =0; i < a.length; i++){
a[i] = ' ';
}
}
問題は、サーバーから完全な応答を受信できない場合があり、代わりに半分のように受信し、その後の応答を残りの半分を受信することです。
言及する価値があります:
1-影響を受けた反応は、他の反応よりも少し大きいですが、 1000リットルを超えていないことは確かです。
2-サーバー側が完全に機能し、完了した応答を送信すると確信しています。
3-その動作を引き起こす可能性のあるタイプのターミネーターは存在しません。