|
板子作为tcpserver,电脑作为tcpclient
现在的问题是一次发送数据长度为4096,但是MTU最大为1500,所以做了如下处理
//-----------------------------------------------------------------------------
// ETH发送
//-----------------------------------------------------------------------------
void Eth_Send(unsigned char *p,unsigned int len)
{
while(len>1400)
{
tcp_write(tcp_server_pcb,p,1400,0); // 将要发送的数据放入发送队列
len -= 1400;
p += 1400;
}
tcp_write(tcp_server_pcb,p,len,0); // 将要发送的数据放入发送队列
tcp_output(tcp_server_pcb); // 立即发送数据
tcp_sent(tcp_server_pcb,tcp_sended); // 数据发送完毕后本函数的回调函数会被调用
}
但是最多能发送2800字节以内
请高手指点 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|