TCP和UDP协议区别

TCP协议----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. 什么是TCP协议

  ①. 概念:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义

  ②. 重点是此协议中有两个类Socket 和ServerSocket 其中有一些方法,能够实现在两个不同的终端之间传输数据(客户端-服务端)

2. TCP的特点

  ①. Java中使用Socket实现TCP程序开发,使用此类可以方便的建立可靠的,双向的,持续的,点对点的通讯连接。

  ②. 在Socket程序开发中,服务器端使用ServerScoket等待客户端的连接,在Java的网络程序中,每一个客户端都使用Socket对象表示。

  

  ③. TCP的三次握手

  

  第一次握手:建立连接时,客户端发送SYN包到服务器,并进入发送状态,等待服务器确认。

  第二次握手:服务器收到SYN包,必须确认客户的SYN,同时自己也送一个SYN包,即SYN+ACK包,此时服务器进入 接受状态。

  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入已建立状态,完成三次握手。

UDP协议----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. 什么是UDP协议

  ①. 概念: UDP (User Datagram Protocol)用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务

  ②. TCP的所有操作必须建立可靠的连接,这样会浪费很大的性能,为此UDP这种不可靠的连接出现并成为聊天工具的宠儿。

  ③. UDP开发中使用DatagramPacket包装一条要发送的信息,之后使用DatagramSocket完成发送操作,也能够实现在两个终端之间传输数据。

TCP与UDP的区别------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. 基于连接与无连接 ;

2. 对系统资源的要求(TCP较多,UDP少) ;

3. UDP程序结构较简单 ;

4. 流模式与数据报模式 ;

5. TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证;

UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。 

TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。

与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。

相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收顺序。

 


 
  
  
  
  
  
  
  
  
  
  
  
  
 
 
 

posted @ 2017-09-25 19:55  会飞的鱼摆摆  阅读(154)  评论(0编辑  收藏  举报