[英]how to read incoming data from socket in android
我在Android应用中创建了一个套接字,当我连接到服务器时,我为此套接字创建了一个InputStream
来从服务器读取传入的数据:
socket = new Socket(address, port);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
byte[] buffer = new byte[1024];
int bytesRead;
InputStream inputStream = socket.getInputStream();
while ((bytesRead = inputStream.read(buffer)) != -1){
byteArrayOutputStream.write(buffer, 0, bytesRead);
response += byteArrayOutputStream.toString("UTF-8");
// the execution is blocked at this line and does not get out
//from the while
}
}
获取输入流后,我尝试读取字节并填充String(response),但是从服务器读取所有数据时,它会在while
-loop中阻塞。 这意味着不满足while条件。 我正在发送这样的短语:“你好,你好吗”
也许您应该在\\ n到达时中断while循环,或者从服务器获取类似信息。 循环仍在等待新数据读取。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.