开发板测试网口带宽方法
来源:互联网 发布:数据与安全监察委员会 编辑:程序博客网 时间:2024/06/11 04:12
由于项目需要,需对开发板千兆网口传输速率进行测试,开始想到的方法十分简单,直接在开发板上移植一个ftp服务器,然后利用Ubuntu上的ftp客户端进行文件传输,以测试网口文件传输速度,但这样做需要将测试文件放到SD卡中,而SD卡的文件传输速度十分有限,远远达不到千兆的要求,所以这样测出的速率不是千兆网口的真实传输速率,因此只能自己编写ftp服务器端来实现文件传输。
方法是先在内存中申请一块较大的内存,然后将存放于SD卡的文件首先传到此内存缓存中,然后再将文件从缓存中传输到电脑,计算文件从缓存到电脑所用的时间,即为网口的真实传输用时。注意这个过程中网线也需要是千兆的。服务器端核心代码如下:
/* 打开要传输的文件,返回其句柄 */if((fd = open(space + 1, O_RDONLY, 0)) == -1){printf("open file error.\n");}/* BufMax为170M,申请170M内存 */p = (char *)malloc(BufMax); if(p) printf("Memory Allocated at: %x\n",p); else {printf("Not Enough Memory!\n");goto err_ret; } int n = 0;for( ; ; ){int m;//char bufmax[BufMax];/* 将文件内容读到缓存buff中 */if((n = Read(fd, buff, sizeof(buff))) == 0)break; bytes += n; /* 复制buff中内容到malloc出的缓存p中 */ memcpy(p+n, buff, n); //memcpy(p+((++cnt)%19200)*n, buff, n); }volatile int len = 0;while(1){/* 将p中缓存的内容发送到连接套接字connfd */len = Writen(connfd, p + len, BufMax -len);printf(" write date to disk from ddr: %d\n", len);if(len == 0)break;}free(p);
阅读全文
1 0
- 开发板测试网口带宽方法
- 测试嵌入式linux设备网口带宽的方法
- 机房速度和带宽测试的简单方法
- infiniband带宽测试方法1 ib_read/write_bw/lat
- 测试带宽管理
- iperf测试udp带宽
- iperf测试tcp带宽
- 使用Iperf测试带宽
- iperf测试UDP带宽
- iperf 测试带宽
- iperf 测试极限带宽
- linux服务器带宽测试
- 云主机带宽测试
- DWM1000DISCOVERY开发板测试方法
- DWM1000DISCOVERY开发板测试方法
- Bandwidth内存带宽测试工具
- VPS带宽与速度测试
- LoRa频率与带宽测试
- Apache Accumulo用户手册
- 九度1008&&HDU
- 插入排序
- 静态顺序表的实现
- Redis基本操作
- 开发板测试网口带宽方法
- hdu4565(矩阵快速幂)
- Children’s Queue HDU
- CSU 1973:给自己出题的小X(DFS或DP)
- Spark 键值对RDD操作
- C语言——实例009 输出国际象棋棋盘。
- 函数(2)
- git 总结
- 分布式存储-fastdfs+glusterfs- 学习笔记