TCP与UDP区别 及 注意点

本文介绍了TCP与UDP的区别,TCP面向连接、提供可靠传输、速度慢、不支持广播等,适合大量数据;UDP反之,适合少量数据。还提及TCP使用流程中的注意点,如服务器需绑定端口、listen将套接字变被动等,以及客户端和服务端连接、关闭套接字的相关情况。

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

TCP与UDP 区别


  1. TCP 面向连接; UDP 是不面向连接;
  2. TCP 提供可靠的数据传输,也就是说,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达; UDP 不保证可靠的数据传输,容易出现丢包情况;
  3. TCP 需要连接传输速度慢,UDP 不需要连接传输速度快
  4. TCP 不支持发广播; UDP 支持发广播
  5. TCP 对系统资源要求较多,UDP 对系统资源要求较少。
  6. TCP 适合发送大量数据,UDP 适合发送少量数据
  7. TCP 有流量控制,UDP 没有流量控制

流程的不同

这里写图片描述

这里写图片描述

TCP注意点

  1. TCP 服务器一般情况下都需要绑定端口号,否则客户端找不到这个服务器
  2. TCP 客户端一般不绑定端口号,使用随机生成的端口号即可
  3. TCP 服务器中通过 listen 可以将 socket 创建出来的主动套接字变为被动的,这是做 TCP 服务器时必须要做的
  4. 当 TCP 客户端和服务端建立好连接才可以收发数据,UDP 是不需要建立连接,直接就可以发送数据
  5. 当一个 TCP 客户端和服务端连接成功后,服务器端会有1个新的套接字,这个套接字用来标记这 个客户端,单独为这个客户端服务
  6. listen 后的套接字是被动套接字,用来接收新的客户端的链接请求的,而accept返回的新套接字是标记这个新客户端的
  7. 关闭 listen 后的套接字意味着被动套接字关闭了,会导致新的客户端不能够链接服务器,但是之前已经链接成功的客户端正常通信。
  8. 关闭 accept 返回的套接字意味着这个客户端已经服务完毕
  9. 当客户端的套接字调用 close 后,服务器端会 recv 解堵塞,并且返回的长度为0,因此服务器可以通过返回数据的长度来区别客户端是否已经下线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值