TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP是一种无连接的、不可靠的、不以字节流传输通信协议。
UDP有别于TCP,有自己独立的套接字(IP+Port),它们的端口号不冲突。和TCP编程相比,UDP在使用前不需要进行连接,没有流的概念。
如果说TCP协议通信与电话通信类似,那么UDP通信就与邮件通信类似:不需要实时连接,只需要目的地址。TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP通信前不需要建立连接,只要知道地址(ip地址和端口号)就可以给对方发送信息;UDP尽最大努力交付,即不保证可靠交付。
TCP对系统资源要求较多,UDP对系统资源要求较少
UDP通信一般用于线路质量好的环境,如局域网内,如果是互联网,往往应用于对数据完整性不是过于苛刻的场合,例如语音传送等。