0

在我的 PC 上,我启动了一个服务器以通过蓝牙将字节发送到 Android 手机。我使用相同的输出流每 10 秒发送一次不同的字节。

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

缓冲区是一个字节数组,它改变每个循环

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

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

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

4

2 回答 2

2

您是否尝试过在 PC 端关闭连接?从您的示例看来,您没有。

[编辑] 如果您不想在 PC 端关闭连接,则发送已知字节序列,这将向 Andorid 应用程序指示 PC 端完成发送数据,即。正在等待回复

于 2012-04-18T19:13:49.497 回答
0

尝试这个...

while((bytes = inputStream.read(buffer)) > 0)
{
//
}
于 2012-04-18T18:38:59.210 回答