繁体   English   中英

如何从Android中的套接字读取传入数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM