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

2019-03-23 18:23发布

神州的板子,直接改了下官方的例程,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-2 12:51 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。