Android Socket编程,Android客户端和服务器端都有一个循环,负责发送和接收数据 ,如何让客户端接收完,服务器端再执行第二次循环?希望高手帮忙解决!!

解决方案 »

  1.   

    可以用双通信的方式,A为服务器,B为客户端(建议用TCP/IP不用考虑丢包)
    (客户端和服务器端都设2个线程,一个负责发送,一个负责接收)
    A循环先发送一个包,然后发送阻塞,等待B应答
    B接收包,满包的时候,接收等待,发送进程运行向A发一个应答包
    A解除阻塞,继续发包若要考虑丢包,追加超时处理
      

  2.   

    给你一个思路,客户端创建一个buffer1, 服务器端也有一个buffer2 ,服务器端读到buffer2 中,满了就sleep, 客户端检测buffer2 是否满,满了就从buffer2 copy 到buffer1  ,在网咯视频播放上常用到