现在做的项目是用android双卡设备向服务器端发送数据,在客户端启动两个线程(每个线程对应一个3G卡)向服务器发送数据,设置发送缓存都是8K,在客户端检测到每个线程是轮流发送数据的,但是服务器接收时偶尔会出现这样的的情况:接收到一个线程发送的很多数据(远大于8K),然后再收到到另一个线程的很多数据(服务器端接收到的数据不均匀),请教过有经验的同事,说是这些数据由于网络问题,阻塞在了网络上。
   现在请教一下做过3G传输的前辈,怎样才能让服务器及时的接收到阻塞在网络上的这部分数据?客户端的socket已经设置了立即发送。
   谢谢大家!

解决方案 »

  1.   

    你设置的两线程轮流发送,但是不能确定服务器也是按照客户端的轮流顺序接收呀。
    就好比你让两个人给你把东西从A点带到D点,途经B,C两点,虽然两个人都是轮流发的,但是我们不能确定在B,C两点间发生了什么事情,也许休息了下,也许生了一觉,这样就不能确定在D端接收是按顺序的。
    你可以看下网络协议,你就会理解这里面的问题了。
      

  2.   

    3楼说的没错 你客户端是轮流来 但是不能保证服务器会按照你想的顺序来,因为两条网络线的状态不可能一样,
    需要参考TCP协议自己定义方式来保证包的顺序