首页 > 其他分享 >浅谈TCP和UDP协议的区别

浅谈TCP和UDP协议的区别

时间:2024-08-22 14:25:58浏览次数:7  
标签:1024 UDP 浅谈 协议 TCP 接收 客户端

**传输模式**

TCP协议:数据流(DataStream)
    --没有消息边界,比如服务端给客户端发来2048字节大小的数据,而客户端设置的一次最大接收大小为1024,这时候就意味着还有1024没能接收过来,要再接收一次。
      所以容易出现粘包的情况。所谓粘包,就是数据都粘在一起了。


UDP协议:数据报(DataGram)
    --永远不会存在粘包现象,因为UDP数据存在消息边界,在其报文头里包含有客户端的IP地址和端口这样的信息,还以上面的例子举例:
      比如服务端给客户端发来2048字节大小的数据,而客户端设置的一次最大接收大小为1024,这时候就意味着还有1024没能接收过来,此时剩下的内容客户端再也接收不过来了,
      因为UDP认为已经发送结束了。

所以说啊,一般都用TCP协议,因为可靠。UDP协议是一种不可靠的协议,容易丢包。

标签:1024,UDP,浅谈,协议,TCP,接收,客户端
From: https://www.cnblogs.com/kkbest/p/18373771

相关文章

  • 网络编程UDP、TCP
    1UDP通信客户端UDPClientpublicclassUDPClient{publicstaticvoidmain(String[]args)throwsIOException{//获取本地服务器地址InetAddressserver_address=InetAddress.getLocalHost();//创建数据报套接字以连接到服务器......
  • 深入理解 TCP 协议与网络通信
    1.什么是TCP网络分层?TCP网络分层是指将计算机网络的通信过程分为不同的层次,每一层都承担特定的功能。通常,网络分为四个主要层次:应用层、传输层、网络层和链路层。这种分层结构使得网络协议的设计和实现更加清晰,便于维护和扩展。生活案例帮助记忆想象一下,网络就像一个快......
  • 浅谈面向对象三大特性(着重介绍虚函数实现的多态)
        写在前面:文章内容分享为主,如有不当之处,恳请批评指正。        今天在使用C++的工厂模式的时候,突然发下有些生疏,就想着发一篇博客,巩固一下,但突然想到工厂模式中设计的继承以及多态的特性,决定先发一篇有关于C++多态的文章,其他的就丢给明天吧!一、面向对象三......
  • 【TCP】核心机制:滑动窗口、流量控制和拥塞控制
    文章目录滑动窗口窗口滑动滑动窗口丢包流量控制拥塞控制窗口大小变化过程滑动窗口有一类算法题,就是通过滑动窗口的思想来解决的,算法中的“滑动窗口”借鉴自TCP的滑动窗口TCP是要保证可靠传输的==>代价,降低了传输的效率(重传,确认重传等操作)TCP希望能在可靠传输......
  • TCP通信之经典问题解决
    先看下面的代码,研究下执行后会出现什么?服务端:fromsocketimport*ip_port=('127.0.0.1',8003)buffer_size=1024sock_server=socket(AF_INET,SOCK_STREAM)sock_server.bind(ip_port)sock_server.listen(5)whileTrue:print('服务端建立连接...')conn,addr=soc......
  • TCP,UDP,Socket,Http网络编程面试题 47道
    1.什么是网络编程        1.网络编程的本质是多台计算机之间的数据交换。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另......
  • 浅谈HTML
    html是一种标签语言,用来写前端页面的,通常结合CSS和js来写。主要用于web开发,B/S架构的系统,所谓B/S其实也是一种特殊的C/S,只不过此时浏览器变成了客户端。B/S架构:B是browser,S是serverC/S架构:C是client,S是server**什么是HTML?**HTML是用来描述网页的一种语言。HTML指的是超......
  • 浅谈Java Spring Boot
    一、基本介绍SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapidapplicatio......
  • 浅谈 Java Spring框架
    一、基本介绍Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。二、核心特性依......
  • TCP/IP-网络层
    网络层的主要作用        网络层通过路由选择来确定数据包从发送端到接收端的最佳路径,并通过网络地址(如IP地址)来标识和寻址主机和网络。其提供的服务是无连接的,表示数据包的传输不依赖于事先建立的连接。路由选择        路由选择是确定数据包从源主机到目......