如题,请分别详细说说,谢谢.

解决方案 »

  1.   

    udp只管扔数据包,不进行校验,速度快,容易丢数据包,
    tcp则先要与服务器建立连接,让发送数据包,需要校验,速度相对要慢
      

  2.   

    补充:udp无链接,除了会丢包外,包序也是不定的,先发不一定能先到。
    tcp做了优化,对于小包会等待一起发送,所以tcp会出现粘包。一般来说接收端需要考虑粘包情况,根据自己定义的协议进行分包处理。想真正详细看TCP/IP详解的书
      

  3.   

    TCP协议提供了一种可靠的数据传输服务,它是一种面向连接的数据传输协议。在数据传输之前,通信节点之间必须建立起连接。为确保正确地接收数据,TCP协议要求在目标电脑成功收到数据时发回一个确认(即ACK)。如果在某个时限内未收到相应的ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收电脑可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。UDP协议是一种面向无连接的数据传输服务,它不能保证数据包以正确的顺序被接收。该协议不能保证数据准确无误地到达目的地。UDP在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用UDP协议。QQ、ICQ等聊天软件使用UDP协议发送消息。tcp是基于连接的,速度慢,有校验等,所以传送相同的数据,要比UDP发送的包多很多
    UDP无需建立虚拟连接和确认的连接开销,所以不安全,掉包是常事(取决于网络环境)
    一般来说,对于局域网和要求快速传送少量数据时使用UDP,要求高安全性和网络条件较差使用TCP
      

  4.   

    tcp做了优化,对于小包会等待一起发送------------------
    TCP 可沒這樣的功能。不要亂說只是要接收時一次性返回盡可能多的數據
      

  5.   

    TCP与UDP的区别:
      1。基于连接与无连接 
      2。对系统资源的要求(TCP较多,UDP少) 
      3。UDP程序结构较简单 
      4。流模式与数据报模式 
      5。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证
    tcp连接是字节流性质,数据不封包,没有边界,数据在传输过程中如果出现错误或则线路中断,使数据不能到达对方,协议会通知你。   
    udp协议是数据报的,数据是一个包一个包的发送,数据是否发送到达对方,协议不会告诉你。你必须有自己的确认机制,比如发送成功,让对方回复一个确认的包
    TCP是面向连接的协议,即通信的两点之间必须建立可靠的连接,数据传输是可靠的,一般用于非实时的数据业务。 UDP是面向消息的协议,通信时不需要建立连接,数据的传输自然是不可靠的,一般用于多点通信和实时的数据业务,比如语音广播等。
    TCP协议提供了一种可靠的数据传输服务,它是一种面向连接的数据传输协议。在数据传输之前,通信节点之间必须建立起连接。为确保正确地接收数据,TCP协议要求在目标电脑成功收到数据时发回一个确认(即ACK)。如果在某个时限内未收到相应的ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收电脑可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。UDP协议是一种面向无连接的数据传输服务,它不能保证数据包以正确的顺序被接收。该协议不能保证数据准确无误地到达目的地。UDP在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用UDP协议。QQ、ICQ等聊天软件使用UDP协议发送消息,对于局域网和要求快速传送少量数据时使用UDP,要求高安全性和网络条件较差使用TCP
      

  6.   


    这叫Naggle算法Nagle算法:尽可能发送大块数据,避免使网络中充斥小分组,从而减少发送包的个数来增加网络的利用率。