我在客户端要同时发送四个数据包给服务器,服务器能对各个包进行应答。。我应该怎样发这四个包了?组合在一个数组里一起发出去?  但感觉不好确认四个包是否都收到了应答并对没收到的进行重发。还是一个包一个的发这样当收到应答了再发下一包?
各位有没有好点的办法?

解决方案 »

  1.   

    你用的是TCP还是UDP??
    如果是TCP,你就不需要考虑重发的了,发送一个包,等待回复,再发下一个;
    如果各个包不存在直接联系,那么组成一个包直接发出去不更好?
      

  2.   

    第一,看你用什么协议,TCP是可靠传输,不需要重发,而UDP需要考虑重发。
    第二,4个包需要一起发还是,一个一个发是要看你这4个包之间的关系,
          4个包没关系,随便你怎么发,知道在服务器你能区分出来就OK了。
          4个包有先后顺序,那就必须一个一个发,一旦某个包没送到,后面的就不用发了,减少通信量。
      

  3.   


      数据都是TCP传输, TCP可靠传输就不需要重发?但如果后台没给应答,要怎么处理?
      

  4.   

    弱弱的再问一句,那tcp的重发机制是怎么回事?
      

  5.   

    不管是TCP还是UDP,都是建立在IP协议的基础上的,而IP是不可靠的协议,所以TCP要实现可靠的传输,就必需超时重发、拥塞控制等机制,详细百度一下