Java / Android - 从Inputstream读取后写入Outputstream

时间:2012-04-18 18:10:35

标签: java android bluetooth inputstream outputstream

在我的电脑上,我启动服务器,通过蓝牙将字节发送到Android手机。 我使用相同的Outputstream每隔10秒发送不同的字节。

outputStream.write(buffer);
outputStream.flush();
thisThread.sleep(10000);

缓冲区是一个更改每个循环的bytearray

现在我想阅读Android手机上的缓冲区:

while((bytes = inputStream.read(buffer)) != -1) {
  //do something
}
//do more

我现在的问题是read(buffer)不返回-1。 如何通知Android手机已经传输了字节,以便我可以做到 在while循环之后我想要的东西?

2 个答案:

答案 0 :(得分:2)

您是否尝试在PC端关闭连接?从你的例子来看,你似乎没有。

[edit]如果你不想关闭PC端的连接,那么发送已知的字节序列,这将指示PC端完成发送数据的andorid app,即。正在等待回应

答案 1 :(得分:0)

试试这个......

while((bytes = inputStream.read(buffer)) > 0)
{
//
}