重庆网站seo公司,河北软文搜索引擎推广公司,郑州企业如何建网站,百度刷排名百度快速排名现象1#xff1a;
发送缓慢#xff0c;tcp_write之后要等200多ms才能过发送出去#xff0c;而且粘包严重。
解决办法 tcp_write之后#xff0c;立马调用tcp_output #xff0c;tcp就会立马发送。
tcp_write
tcp_output 现象2#xff1a;
持续快速发送和接受TCP数据出…现象1
发送缓慢tcp_write之后要等200多ms才能过发送出去而且粘包严重。
解决办法 tcp_write之后立马调用tcp_output tcp就会立马发送。
tcp_write
tcp_output 现象2
持续快速发送和接受TCP数据出现断言
pbufs on queue at least one queue non-empty tcp_receive: valid queue length
而且出现TCP断连死机情况。
其实就是一句话 主程序和以太网中断程序中对PCB-unsent 之类的处理出现了问题tcp_write 不是没有临界保护导致中断和主程序直接出现了共同操作 ((pcb)-snd_buf) ((pcb)-snd_queuelen) 的问题导致内存泄漏越运行越慢
解决办法
tcp_write 和 tcp_output调用前关闭网口中断调用结束开启中断 NVIC_DisableIRQ(ETH_IRQn);err tcp_write(tpcb, mqtt_ringbuf_get_ptr(rb), send_len, TCP_WRITE_FLAG_COPY);HAL_NVIC_EnableIRQ(ETH_IRQn); NVIC_DisableIRQ(ETH_IRQn);tcp_output(tpcb);HAL_NVIC_EnableIRQ(ETH_IRQn); 参考文献
关于LWIP中大数据量传输问题的一些解决方法速度慢而且越运行越慢的 。另外一些心得_lwip提高收发速度_bird_bai001的博客-CSDN博客