13698417935 发表于 2023-4-11 10:38

gd32 + freerots +lwip 收发正常,但是在接收到数据,将数据进行处理时,client容易断

我现在用gd32+freerots +lwip 能够正常通信,在接收数据到数据时,根据数据的指令,进行处理另一个任务时,在用lwip下发数据想终止这次任务,但是,发现通信断开了;按道理的话,这个网络通信是中断呀!优先级最高,现在出现断开的,我实在是想不明白?

t1ngus4 发表于 2023-6-5 15:55

可能因为在使用lwip进行数据发送时,数据发送的函数调用导致网络通信任务被挂起,从而影响了通信的稳定性

g0d5xs 发表于 2023-6-5 17:05

用 lwip 的定时器机制来定期发送数据吧

zhizia4f 发表于 2023-6-5 18:13

发送数据时使用异步方式

q1ngt12 发表于 2023-6-5 19:20

是不是网络连接不稳定啊

suw12q 发表于 2023-6-5 21:32

应该任务挂起也不会断开的吧

q1d0mnx 发表于 2023-6-5 22:14

数据包丢失了吧

kaif2n9j 发表于 2023-6-6 06:20

在处理网络数据时,可能会因为栈溢出导致程序崩溃,从而导致通信中断

su1yirg 发表于 2023-6-6 07:35

属实有点玄妙啊,你其他任务不开,就单独lwip通信的话,就正常么?

p0gon9y 发表于 2023-6-6 09:13

终止任务的话就任务挂起呗,就应该可以的

cen9ce 发表于 2023-6-6 11:00

通信断开的话,你检查一下你的网络是不是不稳,或者IP冲突之类的,都看看

t1ngus4 发表于 2023-6-6 15:00

可能因为在使用lwip进行数据发送时,数据发送的函数调用导致网络通信任务被挂起,从而影响了通信的稳定性

cr315 发表于 2024-8-16 15:49

检查任务优先级

elephant00 发表于 2024-8-16 15:51

如果数据处理算法复杂度高,可能会导致处理时间过长,从而影响网络连接。尝试优化算法或使用更高效的数据结构。

两只袜子 发表于 2024-8-16 18:09

检查代码中是否存在内存泄漏,尤其是在处理大量数据时。

jcky001 发表于 2024-8-16 19:26

缓冲区溢出
页: [1]
查看完整版本: gd32 + freerots +lwip 收发正常,但是在接收到数据,将数据进行处理时,client容易断