硬汉嵌入式论坛

 找回密码
 立即注册
查看: 788|回复: 2
收起左侧

[LwIP] TCP处理数据协议指令遇到需要处理较长时间的指令问题

[复制链接]

3

主题

3

回帖

12

积分

新手上路

积分
12
发表于 2021-12-22 21:36:47 | 显示全部楼层 |阅读模式
大家号,最近遇到一个问题不知该如何处理,想请各位经验丰富的大师们提供一下思路
他是控制板作为客户端,定期与服务器发送心跳包(5S一次)或者事件包,然后服务器会应答,确认已经接收到
同时服务器也会在需要的时候发送控制命令,然后客户端也要应答服务器
我开了2个任务,1个任务用于定时上传心跳包给服务器(任务A),并设置超时等待时间,一个任务用于接收服务器下发的指令(任务B),当任务B接收到服务器数据后,我就直接处理数据,如果是心跳包应答那就结束A的等待,准备就绪下一次的心跳包数据,如果是下发指令,那就处理指令,处理完在应答数据给服务器,这种正常情况下没什么问题,但我有几条服务器指令处理需要较长时间,大概可能需要1分钟多,例如格式化设备指令,
当我收到格式化指令后,我就在任务B中执行格式化操作,而任务A会每5S发送心跳包给服务器,服务器每5S也就会应答数据,这个应答的数据因为正在执行格式化操作,无法处理该指令,导致会有很多条心跳包应答指令无法处理,类似这种问题,大家给个思路,几步影响数据应答,也不影响指令处理的方法,

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2021-12-23 10:04:07 | 显示全部楼层
没听懂,你的任务A不是心跳包么,怎么和任务B的功能关联起来了:“”“任务A会每5S发送心跳包给服务器,服务器每5S也就会应答数据,这个应答的数据因为正在执行格式化操作,无法处理该指令”
回复

使用道具 举报

5

主题

65

回帖

80

积分

初级会员

积分
80
发表于 2021-12-24 09:47:44 | 显示全部楼层
建议把1分钟任务分解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-1 07:00 , Processed in 0.216073 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表