admin管理员组文章数量:1535332
2024年7月26日发(作者:)
基于UDP协议的wifi测速
软件环境:
Microsoft Visual C++ 6.0 VM虚拟机 udp测速工具 wireshark 超级终端
硬件环境:PC ARMmini2440开发板一块 wifi模块2块 无线路由器一个等等
项目职责:负责本次项目的代码编写以及对wifi的测速。
项目描述
UDP是OSI参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传
输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。
在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人不十分满意的环境下,UDP
协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消
耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它
们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ
和QQ就是使用的UDP协议。基于以上的这些优点我们选择了udp协议来对wifi进行测速。
通过在VC 6.0编写udp_client.c和udp_server.c文件导入到虚拟机linux系统里通过交
叉编译环境arm-linux-gcc来生成ARMmini2440开发板能编译的二进制文件udp_client和
udp_server。把这2个文件烧写到ARMmini2440开发板上。让开发板运行udp_client来发
送数据包给PC接收。通过udp测速工具查看数据包的接收发情况。这项目最关键的是把开
发板和主机连接到同一个局域网里面、通过无线路由器直连主机,开发板通过wifi模块接
上无线路由器的wifi。设置好主机和开发板的ip地址,网关等。要求开发板的ip地址和
主机的ip地址要在同一个网段里面才能实现主机和开发板之间的ping通。只有这一步实现
了才能在开发板里运行udp_client文件去发送数据包给主机。通过观察udp测速工具能很
清楚的看到数据发送的速度和丢包率等数据。
项目中遇到的问题
1、 开发板和主机之间ping不通的问题
2、 对线程代码编写的不熟悉
其中最大的问题就是主机和开发板之间的问题。开发板通过wifi模块连接的无线路由器,
因为开发板默认的DNS被设置成了192.168.1.1与路由器默认的DNS的0.0.0.0不同导致开
发板和路由器之间的ping不通,从而使得开发板和主机的ping不通。因为一直卡在这里。
我曾经都怀疑无线路由器不能被开发板无线的去ping通。我也要求去换个路由器。一度的
去找客观原因也使得我的项目被耽误下来了。解决了这个问题之后就使得接下来的测试工作
能顺利的进行下去。
项目测试结果
开发板和主机PC直接有线相连接
接收速率:15.706Mbps
开发板无线连上路由器SoftAP-AB,主机和路由器SoftAP-AB直连
接收速率为:4.946Mbps
开发板无线连上路由器FAST,主机和路由器FAST直连
接收速率:4.433Mbps
项目总结
通过这次的wifi测速项目,使我更加深入的了解到网络通信的含义和对socket编程的
掌握,以及对开发板的使用。还要说明的是这项目的完成离不开赵哥对我的指点和帮助。我
真的很感谢他。他让我了解到书本上学到的知识和现实中的运用存在很大的差距,也让自己
知道自己现在掌握的知识是多么的狭窄。我将不断努力的去学习。
肖斌
版权声明:本文标题:基于UDP协议的wifi测速 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1721933790a905964.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论