【发布时间】:2013-04-15 12:38:48
【问题描述】:
我的套接字通信有问题 -> SIP 服务器和安卓设备。 我无法通过 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 数据没有被刷新而其他数据被立即发送。应该没有什么区别。
【问题讨论】: