![b69b1a028c77f7933342a0a82533e2f1.gif](https://i-blog.csdnimg.cn/blog_migrate/4c07d927af13d0b9b4a4932d2f20c0a9.gif)
TCP(transfer control protocol)协议和UDP(User Datagram Protocol ) 协议是传输层的两种协议。Socket是传输层供给应用层的编程接口,所以Socket编程就分为TCP编程和UDP编程两类。
在网络通讯中,TCP方式就类似于拨打电话,使用该种方式进行网络通讯时,需要建立专门的虚拟连接,然后进行可靠的数据传输,如果数据发送失败,则客户端会自动重发该数据。而UDP方式就类似于发送短信,使用这种方式进行网络通讯时,不需要建立专门的虚拟连接,传输也不是很可靠,如果发送失败则客户端无法获得。
这两种传输方式都在实际的网络编程中使用,重要的数据一般使用TCP方式进行数据传输,而大量的非核心数据则可以通过UDP方式进行传递,在一些程序中甚至结合使用这两种方式进行数据传递。
由于TCP需要建立专用的虚拟连接以及确认传输是否正确,所以使用TCP方式的速度稍微慢一些,而且传输时产生的数据量要比UDP稍微大一些。
总结
1. TCP是面向连接的,传输数据安全,稳定,占用系统资源多,效率相对较低。
2. UDP是面向无连接的,传输数据不安全,数据报的大小限制在64k内 ,效率较高,非常简单的协议,开销小 。
![457147f9a0893cdbed55f20e6defdd8c.png](https://i-blog.csdnimg.cn/blog_migrate/3c7189878257fdd2006477f5d32e1558.jpeg)
尚学堂百战程序员
百战程序员_IT6000集_影响6000万学习IT的中国人【官网】