我的套接字通信有问题 - > SIP 服务器和 android 设备。我无法通过 TCP 发送大于 800 字节的 SIP 数据包。如果数据包小于 800 字节,一切正常。在尝试发送 SIP 数据包之前建立了成功的 TCP 握手,但仍然没有。我这样发送数据;
Socket socket = new Socket(ip,port);
OutputStream out =new OutputStream(socket.getOutputStream());
out.flush();
out.write(msg);
发送功能没有问题。奇怪的是,对于大于 800 字节的 SIP 数据包,一些数据包在从设备发送后几分钟就被传递到服务器。如果我们尝试发送数据包大小大于 800 字节的其他数据而不是 SIP,则一切正常,服务器会接收到它。问题仅在于 SIP 数据包 > 800 字节。并非所有 android 设备都会出现此问题。例如:Galaxy s plus – 问题。Nexus 4 – 问题。Nexus s – 没问题。等等。如果我将 SIP 数据包分成两部分,问题就解决了,但是我想找出为什么 SIP 数据没有被刷新而其他数据被立即发送。应该没有什么区别。