我正在使用Java Socket Programming来接收服务器响应,我正在使用 achar 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-不存在任何可能导致该行为的终止符。