现在我已经Socket
与我的桌面服务器建立了连接。一般来说,它工作正常,我正在尝试找到任何剩余的错误。我无法解决的一个问题是当我向“发送”按钮发送垃圾邮件时。有时它会将原本要单独发送的消息组合成一条消息。我相当确定这是一个 Android 问题,而不是我的服务器的问题。这是一个发生的例子(来自服务器的控制台输出):
XX.XX.XX.XX: {"control":[],"commands":[]}
XX.XX.XX.XX: {"control":[],"commands":[]}
XX.XX.XX.XX: {"control":[],"commands":[]}
XX.XX.XX.XX: {"control":[],"commands":[]}{"control":[],"commands":[]}
这导致我的 JSON 解析器无法正常工作。我能够通过蓝牙或 Wifi 连接到我的服务器,并且我注意到合并消息的问题仅在使用 Wifi 而不是 BluetoothSocket 时发生。并不是说我认为 BluetoothSocket 的延迟不足以像这样组合,但是那里运行的流量要少得多。有什么方法可以确保我的数据包在发送时不会被合并?我环顾四周,Socket
不知道要寻找什么。这是我如何发送的示例,非常基本:
mmDataOut.write(buffer);
where mmDataOut
is just a DataOutputStream
and buffer
is a byte[]
。
另外,我添加了 asyncsocket 标签,因为我的服务器正在使用它们,不确定这是否会影响任何事情。