使用UDP进行数据传输的速率测试,无限循环传输一个随机数组,没有采用操作系统,最高速度只有500K字节每秒,使用TCP做同样的测验也是500KB,求助各位大神这是怎么回事呢?
附上UDP部分源码:
struct udp_pcb *pcb;
int i;
static char data[1470];
struct pbuf *p_out;
pcb = udp_new();
udp_bind(pcb,IP_ADDR_ANY,1022);
udp_recv(pcb, App_recv,NULL);
udp_connect(pcb,ipaddr,1022);
while(1)
{
for(i=0;i<1470;i++)
{
data
=rand();
}
p_out = pbuf_alloc(PBUF_TRANSPORT, sizeof(data), PBUF_RAM);
if(p_out != NULL)
{
memcpy(p_out->payload,data, sizeof(data));
udp_send(pcb, p_out);
pbuf_free(p_out);
}
}
此帖出自小平头技术问答
http://bbs.eeworld.com.cn/thread-212023-1-1.html
一周热门 更多>