TCP和UDP和Socket

本文对比了UDP和TCP两种网络传输协议的特点。UDP是一种无连接、不可靠但速度快的协议,适用于实时应用如聊天和视频会议;TCP则是一种面向连接、可靠的协议,适合大数据量的传输。文中还解释了TCP的三次握手过程以及Socket在网络通信中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UDP

    将数据及源和目的封装成数据包中,不需要建立连接

    每个数据报的大小在限制在64K内

    因无连接,是不可靠协议

    不需要建立连接,速度快

TCP

    建立连接,形成传输数据的通道

    在连接中进行大数据量传输

    通过三次握手完成连接,是可靠协议

    必须建立连接,效率会稍低

UDP

1.面向无连接

2.数据会被封包,包有限64K内

3.不可靠

4.速度快  

UDP实例:聊天,视频会议,桌面共享

 

TCP

面向连接

可靠

可大数据量传输

三次握手:

1.在吗

2.在

3.啊,我知道你在了。

通过三次握手建立TCP通路

Socket

Socket就是为网络服务提供的一种机制。

通信的两端都有Socket

网络通信其实就是Socket间的通信

数据在两个Socket间通过IO传输

 

 

### TCPUDP Socket 的概念及其在网络通信协议中的差异 #### TCP 协议的概念与特点 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的字节流服务。TCP通过三次握手建立连接,在数据传输前确保双方已准备好接收数据[^1]。该协议提供错误检测流量控制机制,能够保证消息按序到达并处理丢失重传等问题。 #### UDP 协议的概念与特点 用户数据报协议(User Datagram Protocol,UDP)则属于无连接的数据报服务。它不需事先建立连接即可发送信息;因此具有较低延迟特性,适用于实时性强的应用场景如在线游戏或视频会议等。然而由于缺乏确认机制,所以无法保障所有发出的信息都能成功抵达目的地[^2]。 #### Socket 编程接口的作用 套接字(Socket),并非一种独立于上述两种之外的新颖网络层协议,而是应用程序访问底层网络资源的一种抽象方式。借助socket API可以创建基于不同传输层协议(TCP/UDP)之上的客户端服务端程序实例,并实现两者间高效稳定的数据交换过程[^3]。 #### 主要区别总结 | 特征 | TCP | UDP | | --- | --- | ---| | 连接类型 | 面向连接 | 无连接 | | 可靠性 | 提供可靠交付 | 不保证可靠性 | | 流量控制 | 支持拥塞窗口调整等功能来防止过载 | 没有内置流量管理措施 | | 应用范围 | 文件传输、邮件收发等对准确性要求较高的场合 | 实时音频/视频通话等允许一定程度丢包的情况 | ```python import socket def create_tcp_server(host='localhost', port=9999): server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((host, port)) server_socket.listen(5) def send_udp_message(message, host='localhost', port=9999): client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) client_socket.sendto(message.encode(), (host, port)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值