我已关注Google's tutorial在Android上使用蓝牙。在服务器端,这是一台我使用Bluecove的计算机。
我已经设法建立设备之间的连接(它们没有先配对,当我运行程序时,两个设备都要求接受配对)。现在我遇到通过连接发送数据的问题。在Managing a connection section中有一个名为write
的方法。有了这个功能,我无法发送任何东西。它不会失败(没有错误)但消息不会到达服务器。
在接受连接后的服务器上(acceptAndConnect())我有以下
DataInputStream inputStream = new DataInputStream(connection.openInputStream());
while(true) {
String input = "";
char c;
while(((c = inputStream.readChar()) > 0) && (c != '\n')) {
input += c;
}
System.out.println("Received: " + input);
}
它不会打印任何内容。
客户端的代码与教程中的代码完全相同。问题在哪里?
编辑。实际上,如果我在显示的服务器代码中打印c
,我会发现一些奇怪的事情。我试图发送hello\n
。打印c
时,我得到桥
汬
漊
答案 0 :(得分:0)
经过一段时间的googleing后,我找到Jon Skeet's answer并将DataInputStream
更改为包含在InputStreamReader
中的InputStream和BufferedReader
中的那个。然后,我可以使用readLine()
,我可以正确使用这些角色。