请教!stm32f107上裸跑LwIP的速度测试问题

[复制链接]
3169|6
 楼主| wky2wy 发表于 2012-11-1 17:47 | 显示全部楼层 |阅读模式
本帖最后由 wky2wy 于 2012-11-2 12:52 编辑

神州的板子,直接改了下官方的例程,recv回调函数收数据部分代码:

  char *c;
  struct pbuf *q;
  if (p != NULL)//如果有数据来了  
  {   
  tcp_recved(pcb, p->tot_len);
  for(q=p; q != NULL; q = q->next)  
  {
  c = q->payload;
  tcp_write(pcb, c, p->len, 0);//接着就直接将收到的数据直接发送出去。
  }   
  pbuf_free(p);
  }   

现在想测试LwIP的带宽能够达到多少,以及批量传输数据时的乱序、丢包情况。

没什么头绪,就自己瞎折腾,为测试批量传输数据带宽及其他情况,首先要有测试文件,对于测试文件,我写了一个简单的c程序生成一个10M的文本文件,该文件的格式如下:
00001abcde……26个英文字母重复1014字节……xyz99999
第一部分是一个数字序列5字节,第二部分英文字母1014字节,第三部分随便选了个数字重复5字节,每行1024字节,共生成了10240行。

然后用周立功的tcp/ip测试软件以每次1024字节的包向下位机发送数据,同时接收数据生成文本文件,平均收发速度能达到45.5KB/S,增加每次发送的字节数,经过测试1446B是一个上限,每次发送1446字节,收发速度大概在65KB/S,当超过这个数就会发生乱码现象,现在想知道保证不丢包乱序的速度上限能够达到多少,有木有人有相关的实践经验。。
同志们出出主意吧,谢谢啦~~
 楼主| wky2wy 发表于 2012-11-28 16:12 | 显示全部楼层
原来不是程序的问题,也不是LwIP的问题,是因为上位机用了周立功的软件,因为不知道那个软件内部是怎么实现的,所以很盲目,现在自己用C写了个程序与下位机通信,TCP速度能够达到4-5MB/S,UDP更快而且都不会丢包。
bjgxf 发表于 2012-12-7 16:54 | 显示全部楼层
能上传下你的程序吗?或者发我邮箱也行,我的TCP/IP还没调通?
谢谢
610095871 发表于 2012-12-8 16:28 | 显示全部楼层
icecut 发表于 2012-12-8 17:45 | 显示全部楼层
周公做梦还可以...搞软件就是乱搞一通
Turkeylong 发表于 2013-9-26 17:38 | 显示全部楼层
能发份代码到我邮箱吗?邮箱地址:yangturkey@126.com
trumpxp 发表于 2013-9-26 21:12 | 显示全部楼层
比较乱   楼主   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:no chinese?

0

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部