基于UDP丢包统计程序设计

      最后更新:2022-07-05 10:30:34 手机定位技术交流文章

      资源下载地址: https://download.csdn.net/download/sheziqiong/85897389
      资源下载地址: https://download.csdn.net/download/sheziqiong/85897389

      UDP通信程序设计

      【实验名称】

      开发计划署损失统计计划的设计

      【实验目的】

      选择一个操作系统(Linux或Windows)并创建UDP/IP通信程序来完成某些通信功能。

      【实验要求】

      在发送UDP包时运行循环,在一行中发送100个包;在接收器中统计丢失包。

      在实验中, 运行Wireshark软件来分析通信中的数据包.

      【实验原理】

      在这里插入图片描述

      以上是一般的UDP网络编程流程图,这个实验只涉及客户端发送数据和服务器接收数据,所以这个实验的现实

      验流程图如下:

      在这里插入图片描述

      [实验内容]根据流程图开始编程,并分析下面的代码:

      客户端代码UDP_Cli.cpp

      1.1 /创建 Socket/

      调用库函数 socket 创捷套接字,若返回值 <0 则说明创建套接字失败,退出程序。

      索克声明如下:

      第一个参数指定协议群,目前支持5个协议集群,最常用的是AF_INET(IPv4协议)和AF_INET6(IPv6协议);第二个参数指定插座类型,有三个类型的插座可用: SOCK_STREAM, SOCK_DGRAM和SOCK_RAW;如果插座类型不是原始插座,第三个参数是零。在实验中使用AF_INET协议集群,SOCK_DGRAM数据消息接口,第三个参数是UDP协议。

      使用Getto函数向客户端发送100个包。 如果成功,输出报告,如果失败,退出程序。

      UDP使用uDP()函数发送数据。他与标准写()相似,然而,目标地址必须在h()函数中指定。第一个三个参数相当于函数 read()的第一个三个参数。旗参数是传输控制符号.指示数据将发送的协议地址的参数,它的大小由Addrlen参数指定.

      它返回一个长度大于或等于0的消息,表明该消息已经成功发送,而失败返回-1。

      发送后关闭插座.

      服务端代码UDP_Ser.cpp

      1.2 /创建 Socket/

      过程和客户大致相同。

      1.3 /绑定插座和端口号码/

      创建服务器的地址数据结构,并为它配置协议群、端口号码和IP地址,然后使用绑定函数将创建的插座绑定到该地址。

      • s:指由 socket()创建的描述字符,仅标识一个索克。
      • 名称:指向将绑定的协议地址的指针。
      • namelen:地址结构的长度

      使用 recvfrom函数来监测发送的数据,并输出成功接收的结果,同时使用count来积累成功接收数据包的数量。

      参数解释: s: 标识连接接口的描述单词.

      buf:接收数据缓冲区。缓冲区的长度。 flags:调用操作的方法。 from:指向包含源地址的缓冲区。 Fromlen:指向从缓冲区的长度值。

      由于索克必须在Windows上注册,注册过程如下:

      • 【实验结果】
      • 局域网环境下:
      • 为了同时运行客户端和服务器程序,客户端接口如下:

      在这里插入图片描述

      您可以看到成功的插座创建并随后发送包到目标地址。

      成功发送100个包,如下图所示:

      在这里插入图片描述

      此时,服务器端上由服务器创建的插座被成功地看到,主机地址被成功地绑定,从客户端发送的数据开始连续接收,而接收的包数是统计的。

      在这里插入图片描述

      最后成功接收了100个数据包,没有数据包丢失:

      在这里插入图片描述

      同时,使用Wireshark来抓取数据包,可以看到100个UDP型数据包发送(主机地址):

      在这里插入图片描述

      在这里插入图片描述

      您可以看到发送者IP地址(主机地址)和目的地IP地址(同样的主机地址)是,而目的地端口是66,这是这个实验中使用的端口。

      在网络环境中运行客户端程序将发送100个数据包到目标地址,您可以看到每个数据包都成功发送,并且可以听到信号返回:

      在这里插入图片描述

      最后, 成功发送了100个数据包, 成功接收了100个数据包.

      在这里插入图片描述
      资源下载地址: https://download.csdn.net/download/sheziqiong/85897389
      资源下载地址: https://download.csdn.net/download/sheziqiong/85897389

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

          热门文章

          文章分类