TCP/IP网络编程(3)

      最后更新:2022-04-06 13:58:11 手机定位技术交流文章

      基于 DUP 的客户和服务

      TCP/IP网络编程(2)确立了四层TCP/IP模式,将传输层分为TCP和UDP,通过TCP组合进行数据交换,下文将介绍通过UDP组合进行的数据交换。

      UDP套接字的特点

      民进联的通信概念与信函传递的概念相似。在寄信之前,发件人和收件人的地址必须写在信封上。在此之后,邮票可以放在邮箱中。然而,信息传输的特点,我们无法确保邮件妥善送交发件人。以及寄信过程总,或信件是否损坏或丢失。也就是说,这是一种不值得信赖的通信方式。与之类似,联合民主党协议还提供不稳定的数据传输服务。

      即使仅仅考虑到数据传输的可靠性,贸易协定无疑优于联合民主党。然而,与发展联盟的结构比TCP更为简单。UDP没有发出ACK确认信号我不想给数据包 序列号。因此,民进联有时能够优于TCP。这一程序执行起来容易得多。此外,虽然联合民主党不像TCP那么可靠,但它较少经常遭受数据丢失和破坏。

      TCP和UDP之间的区别:为了提供可靠的数据运输服务,TCP使用不稳定的IP层控制流量,但UDP缺乏这种能力。流动控制是TCP和UDP之间差别的关键标志。TCP无法跟上UDP。然而,可以想象,在接收和分发某些数据时,可以与民进联接触。例如,当交付的数据数量增加时,TCP传输速度与UDP传输速度更为相似。

      UDP内部工作原理

      如下图所示,UDP没有流动控制,IP层的职责是将数据包从主机B移到主机A。

      联合民主党完成了将联合民主党数据包转让给主机A的组合。

      UDP的主要功能是根据端口号将传送到主机的数据包传送到最后的UDP包。

      使用UDP的良好条件:网络传输质量可能导致数据丢失。如果您必须发送压缩软件包数据,使用TCP进行传输也至关重要。只有一小部分数据因压缩文件而丢失。它会影响数据压缩。然而,关于实时发送视频或音频,损失一小部分数据不会产生什么影响。只是时间问题 整个场景的响声。也许有微弱的声音关于实时视频和音频应优先考虑传输速度。在这种应用场景下,TCP数据流动控制似乎相当多余。目前,必须探讨在数据传输中使用UDP的问题。

      以下是造成TCP相对于UDP缓慢的最常见原因:

      一. 在接收和交付数据之前和之后,进行连接设置和清理活动。

      为确保数据可靠,在数据接收和交付期间采用了流动控制。

      基于UDP的客户和服务方案设计

      联合民主党的客户和客户不需要像TCP那样交流有关状况的数据,因此,没有必要采用一些与收听和收听功能相类似的方法,因为联合民主党只提供制作和交换数据的过程。

      如果要提供服务,TCP各带之间应该有一个一对一的联系,除了监听100个客户的窃听器之外,还需要10个服务器终端带。然而,在UDP中,不管是服务还是客户,它只是一个。

      Socket. UDP 中的标点类似于邮箱, 只要有, 邮箱可以发送到任何地址。 同样, 只要有网络, 数据也可以传送到任何主机 。

      创建 TCP 套接字 。没有必要在数据传输中包括处理信息的内容。由于TCP组合将保持相互联系,TCP Socket是知道目标地址的人尽管如此,民进联将不维持这一联系状态。因此,每次数据传输时都添加目标地址信息。UDP 软件包支持数据传输,使用下列方法:

      Sock: 用于数据传输的UDP定置描述符。

      buff: 保存数据传输缓冲

      n字节:数据传输长度

      标记: 如果不具备, 则设定为 0 的可选参数 。

      收件人: 具有目标地址信息的 Sockaddr 变量地址结构

      Addrlen是地址长度。

      另一方面,通过下列机构接收数据:

      Sock: 用于数据传输的UDP定置描述符。

      buff: 保存数据传输缓冲

      n字节:数据传输长度

      标记: 如果不具备, 则设定为 0 的可选参数 。

      发件人: 包含发件人地址信息的索卡迪尔结构变量地址

      Addrlen是地址长度。

      UDP 服务到客户的计算器 :

      客户端 CaldpClient 完成 :

      calUdpServer 服务端 :

      运行结果如下所示:

      客户提供的计算数据:

      无法关闭临时文件夹:%s。

      在上述的例子中,没有任何地区可以给民进联客户指定地址和港口。在TCP中,在沟通方面,这是用户第一次发现了解国内情况的方法。在联合民主党,没有类似行动。实际上,在援引Sendto方法完成数据传输之前,完成插座地址的分配至关重要。因此,援引了客户的约束功能。在TCP中,在页面上引用约束功能。实际上,约束功能并不区分民进联和TCP。此外,当您使用 sendto 函数时,地址和港口号尚未指定,已发现。当第一次援引 sendto 函数时,它会指定插座的地址和端口。指定地址将保留到进程完成为止。因此,它也可以用于与其他民联方案交换数据。因此,当客户联系Sendto时,自动指定合成的 IP 和端口号 。因此,联合民主党客户很少需要指定额外的地址和港口号进行合成。

      UDP数据传输的特征

      TCP数据传输没有界限。这意味着在数据传输期间援引IO函数的次数毫无意义。联合民主党是一个数据边界协定。在数据传输过程中援引IO功能的频率至关重要。发送功能的呼叫次数必须与接收功能的呼叫次数一致。这确保了材料的完整传送。

      链接和未连接的UDS UDS

      TCP 套接字需要一个 IP 地址和要注册的传送数据的端口号, 但 UDP 注册并不必要。 使用 sendto 函数传输数据的过程一般可以分为三个阶段 :

      1. 配置用于 UDP 注册的 IP 地址和端口号 。
      2. 进行数据传输
      3. 删除 UDP 软件包已注册的目标地址信息 。

      当您使用 Sendto () 方法发送数据时,程序将再次进行。每次调整目的地地址和港口号。因此,可多次使用同一个联合民主党套件将数据发送到不同的地址。未连接是指未注册的目标地址信息。注册的打包地址和港口信息称为链接的Sockets。UDP 软件包设定默认为未注册 。然而,如果要求联合民主党各组向统一的目标地址传送10次数据,联合民主党将面临困难。您必须使用 Sendto () 方法十次 。因此,联合民主党一揽子计划需要10个登记步骤。导致效率降低。当它被要求在很长一段时间内与东道主交谈时,将联合民主党的合成编程和相互联系的合成结合起来,将提高效率。在前三个阶段的所有三个阶段,步骤1和2占步骤总数的三分之一。减少登记和清除行动的数量可大大提高通信效率。

      以上面的代码为例:

      - - - - - - - - - - - - - - - - - - - - - - - - - - - -

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/21601.html

          热门文章

          文章分类