预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109445957A(43)申请公布日2019.03.08(21)申请号201811126551.7(22)申请日2018.09.26(71)申请人迪瑞医疗科技股份有限公司地址130103吉林省长春市高新区宜居路3333号(72)发明人张洪伟(74)专利代理机构深圳市君胜知识产权代理事务所(普通合伙)44268代理人王永文刘文求(51)Int.Cl.G06F9/54(2006.01)H04L12/40(2006.01)权利要求书2页说明书7页附图3页(54)发明名称一种同步和异步通信控制方法、系统及装置(57)摘要本发明提供了一种同步和异步通信控制方法、系统及装置,通过将各个线程生成的数据传输通信句柄添加到链表中用于对异步通信进行控制;当定时器超时前接收到回复消息,则根据回复信息将结果值设置为成功或失败并将该通信句柄从链表中删除;当定时超时仍未接收到回复消息,根据回复信息将结果值设置为超时;同时支持取消操作,从而终止线程并结束本次异步通信。本发明与常见的轮询或回调方式相比较,代码更简洁,逻辑更清晰,用户使用更方便,适合于在大型项目中的应用。此外,将通信句柄按面向对象思想进行封装,符合面向对象和组件开发的概念,有效分离业务和复杂的底层技术,开发效率高,代码耦合性低,程序稳定可靠。CN109445957ACN109445957A权利要求书1/2页1.一种基于LinuxC的同步和异步通信控制方法,其特征在于,包括:启动多线程进行通信数据传输,将数据传输的结果值设置为初始值,并同时启动定时器;将各个线程数据传输生成的通信句柄添加到链表中;当接收到回复消息,查找所述链表中是否含有与所述回复消息相匹配的通信句柄,若含有并且该通信句柄所对应的结果值为初始值,则删除该通信句柄并停止定时器,以及根据回复信息将结果值设置为成功或失败;否则,当定时超时仍未接收到回复消息,查找所述链表中是否含有与该定时器句柄中包含的通信句柄相匹配的通信句柄,若含有并且该通信句柄所对应的结果值为初始值,则删除该通信句柄并停止定时器,以及根据回复信息将结果值设置为超时。2.根据权利要求1所述的基于LinuxC的同步和异步通信控制方法,其特征在于,包括:所述定时器超时的回调函数采用线程方式,且返回的通信句柄为结构体指针。3.根据权利要求1所述的基于LinuxC的同步和异步通信控制方法,其特征在于,所述将各个线程数据传输生成的通信句柄添加到链表中的步骤包括:按照异步调用的顺序将通信句柄插入到链表末尾。4.根据权利要求1所述的基于LinuxC的同步和异步通信控制方法,其特征在于,所述方法还包括:将通信句柄添加到链表中之后将所述通信句柄返回到客户端。5.根据权利要求4所述的基于LinuxC的同步和异步通信控制方法,其特征在于,所述方法还包括:当接收到用户查询指令,则判断所述查询指令所对应数据传输的结果值是否为初始值;若不是,则直接输出相对应的结果值;若是,则阻塞查询调用线程,输出等待提醒,当判断出所述查询结果状态指令所对应的结果值不为初始值时,输出相对应的结果值。6.根据权利要求1所述的基于LinuxC的同步和异步通信控制方法,其特征在于,所述方法还包括:在停止定时器对通信句柄定时的同时,同步删除定时器中对该通信句柄进行定时的定时器句柄。7.一种基于LinuxC的同步和异步通信控制系统,其特征在于,包括:通信组件和定时器模块;所述信通信组件,用于启动多线程通信数据传输,并将数据传输的结果值设置为初始值;所述定时器模块,用于在多线程通信数据传输启动的同时,启动定时器;所述通信组件,还用于将各个线程数据传输生成的通信句柄添加到链表中;所述通信组件,还用于当接收到回复消息,查找所述链表中是否含有与所述回复消息相匹配的通信句柄,若含有并且该通信句柄所对应的结果值为初始值,则删除该通信句柄以及根据回复信息将结果值设置为成功或失败;所述定时器模块同时停止定时器对该通信句柄定时;以及,所述通信组件,还用于当定时超时仍未接收到回复消息,查找所述链表中是否含2CN109445957A权利要求书2/2页有与该次定时相对应的定时器句柄相匹配的通信句柄,若含有并且该通信句柄所对应的结果值为初始值,则删除该通信句柄,以及根据回复信息将结果值设置为超时;所述定时器模块同步停止定时器对该通信句柄定时。8.根据权利要求7所述的基于LinuxC的同步和异步通信控制系统,其特征在于,所述定时器超时的回调函数采用线程方式,且返回的通信句柄为结构体指针。9.一种基于LinuxC的同步和异步通信控制装置,其特征在于,包括:PC机、主控板和多个单片机;所述PC机与主控板之间采用以太网通信,所述主控板与多个单片机之间通过CAN总线进行多线程通信;