天线|RF射频
直播中

h1654156194.5000

7年用户 177经验值
私信 关注
[问答]

为什么原子lwip例程发送大数量数据会出现丢失现象?

利用原子哥的lwip例程,我用的STM32f407作为服务端,当有客户端连接时,就发送大数量的AD采样数据给客户端,发现老是丢失数据,后来我发现原来原子哥的lwip例程的发送数据是放在tcp_server_poll()轮询函数里,也就是说,每次要等待500ms查询后才发送,所以我想用tcp_server_sent(void *arg, struct tcp_PCB *tpcb, u16_t len)这个函数直接发送,可是又不知道这个函数的里void *arg, struct tcp_pcb *tpcb这个两个形参到底该填什么?求助!

回帖(6)

张秀芳

2019-11-6 08:02:50
我们提供的例程适合小数据量发送,大数据量发送的话就需要你在我们提供的例程上修改,比如你把tcp_server_poll中的发送函数提取出来放到其他地方发送。
举报

尚文忠

2019-11-6 08:22:44
是想把tcp_server_poll里面的函数提取出来发送,那就需要tcp_server_sent(void *arg, struct tcp_pcb *tpcb, u16_t len)这个函数,这个函数形参void *arg, struct tcp_pcb *tpcb和tcp_server_poll是一样的,而tcp_server_poll()是由内核自己调用,形参不必自己写。可tcp_server_sent里面的形参需要自己写,不知道到底该填写什么?
举报

史岩超

2019-11-6 08:42:35
maaaark
举报

李韵鹤

2019-11-6 08:50:12
mark,楼主好好解决这个问题,到时候分享下
举报

更多回帖

发帖
×
20
完善资料,
赚取积分