我在安卓上写了一个程序与Linux进行Socket通信, 但是发送数据有时会延时, 有时马上能发出去, 有时延时好几秒. 部分代码如下:
        ...
socket = new Socket(SERVER_IP, PORT);
ou = socket.getOutputStream();
in = socket.getInputStream();
        ...
public void SendMsg(byte[] msg) throws IOException {

ou.write(msg);
ou.flush();
}
怎样写了数据到流里立马就能发出去? 求助大神~

解决方案 »

  1.   

    虽然是C#的,但有参考意义。
    请教socket发送大量数据延迟的问题
    http://topic.csdn.net/u/20110302/18/9a4587ef-6620-4dfd-9f76-4c8c792c9080.html
      

  2.   

    并不是写到流里就立马发送的, 要等到TCP协议栈取数据发送才是无延迟立马发送
      

  3.   

    这个问题我也很困扰。
    有时候在很好的WIFI网络下都会有很大的延迟。信息迟迟发不出去,也收不到。
    然后过一会儿一下收到很多。。
      

  4.   

    你是wifi连接吗,出现延迟原因找到没,找个sniffer分析下
      

  5.   

    记忆中,,是tcp协议中,是满了才发送,要不喽主试试大一点的 发送试试比如1024 byte的,我用的wifi 发送不是很延迟吧
      

  6.   

    问题解决了. 是之前编译的android系统有问题, 谢谢大家!
      

  7.   

    能详细说下,为什么是系统导致socket慢吗?  最近项目上遇到一样的问题,手机上的收发速度比PC上的慢了一倍