tre*_*r-e 1 java sockets android asyncsocket
现在我已经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":[]}
Run Code Online (Sandbox Code Playgroud)
这导致我的JSON解析器无法正常工作.我有能力通过蓝牙或Wifi连接到我的服务器,我注意到组合消息的问题只发生在使用Wifi而不是BluetoothSocket时.并不是说我不认为BluetoothSocket可能会滞后到这样的组合,但是在那里运行的流量要少得多.有没有办法确保我的数据包在发送时不会被合并?我环顾了各种Socket选择,不知道该找什么.这是我发送的一个例子,非常基本:
mmDataOut.write(buffer);
哪里mmDataOut只是一个DataOutputStream而且buffer是一个byte[].
另外,我添加了asyncsocket标签,因为我的服务器正在使用它们,不确定这是否会影响任何东西.