首页> 中国专利> 一种UDP和TCP相互结合的局域网通信方法

一种UDP和TCP相互结合的局域网通信方法

摘要

本发明公开一种UDP和TCP相互结合的局域网通信方法包括步骤:S1、控制端设备与受控端设备建立TCP连接,建立设备信息列表;S2、UDP广播器发出控制指令并建立临时表,接收控制指令,受控端设备响应动作并返回确认信息;S3、判断UDP广播器是否收到所有确认信息,如果是,则执行S7;否则,则执行S4;S4、控制端TCP客户端连接受控端TCP服务器,补发S2中的控制指令;S5、判断控制指令是否成功发送,如果是,则执行S7,否则,执行S6;S6、更新受控端设备的状态信息为离线,执行S8;S7、更新受控端设备的状态信息为在线,执行S8;S8、删除临时表,一次群控通讯完成。本发明的方法既能保证快速及时的发送并执行控制指令,又可以提高可靠性。

著录项

  • 公开/公告号CN106549956A

    专利类型发明专利

  • 公开/公告日2017-03-29

    原文格式PDF

  • 申请/专利权人 惠州高盛达科技有限公司;

    申请/专利号CN201610946075.8

  • 发明设计人 周明森;陈志凡;

    申请日2016-11-02

  • 分类号H04L29/06;

  • 代理机构广州市华学知识产权代理有限公司;

  • 代理人蒋剑明

  • 地址 516006 广东省惠州市仲恺高新技术开发区75号小区

  • 入库时间 2023-06-19 01:52:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-24

    授权

    授权

  • 2017-04-26

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20161102

    实质审查的生效

  • 2017-03-29

    公开

    公开

说明书

技术领域

本发明涉及局域网通信技术领域,特别是涉及一种UDP和TCP相互结合的局域网通信方法。

背景技术

目前,无线物联网正在蓬勃发展,可以通过无线Wifi不需要物理布线就可以快速地组建好网络。而在某些情况下,管理人员在某一时刻需要对其网络中相同的设备作出相同操作。比如,对网络中的灯同时作出开关、改变颜色;又如对音响同时播放或者通知等动作。对这一需求目前大多采用以下三种方式来实现:

1、控制端与每个受控设备分别建立TCP通信,发送指令控制。优点:可靠的控制一个受控设备。缺点:当存在多个受控设备时,第一个受控设备接收到指令的时间和最后一个受控设备接收到相同指令的时间具有一定的延时性,明显让人感觉不同步。

2、如果用多线程并发建立TCP通信,虽然可以达到及时可靠,但是对硬件要求较高,比如有100个受控设备,就要建立100个线程。而通常情况下控制端是做到嵌入式设备上,这对于嵌入式设备而言显然不可行。

3、控制端UDP广播,每个受控设备接收UDP广播之后相应其动作。优点:快速,能及时同步相应。缺点:UDP通信既不安全、也不可靠,不能保证每个受控设备都能接收到每次广播的控制指令。

发明内容

本发明的目的是克服现有技术中的不足之处,提供一种UDP和TCP相互结合的局域网通信方法。

本发明的目的是通过以下技术方案来实现的:

一种UDP和TCP相互结合的局域网通信方法,所述局域网通信方法基于一个控制端设备及若干个受控端设备,包括步骤:

S1、控制端设备建立控制端TCP服务器、UDP广播器;受控端设备建立受控端TCP服务器、UDP服务器;

所述控制端设备通过所述控制端TCP服务器与所述受控端设备建立TCP连接,并建立设备信息列表;

S2、所述UDP广播器发出控制指令并建立临时表,当受控端设备的UDP服务器接收到所述控制指令时,受控端设备根据控制指令响应动作并向所述UDP广播器返回确认信息;

S3、在预设时间内,判断所述UDP广播器是否收到所有受控端设备的确认信息,如果收到所有确认信息,则执行步骤S7;如果没有收到所有确认信息,则执行步骤S4;

S4、所述控制端设备建立控制端TCP客户端,所述控制端TCP客户端连接为收到确认信息的受控端设备的受控端TCP服务器,补发步骤S2中的控制指令,

S5、判断所述控制指令是否成功发送给受控端TCP服务器,如果成功发送,则执行步骤S7,否则,执行步骤S6;

S6、确定未成功发送控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为离线,执行步骤S8;

S7、确定成功收到控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为在线,执行步骤S8;

S8、删除临时表,一次群控通讯完成。

作为进一步优选的方案,所述步骤S1的控制端设备与受控端设备建立TCP连接之前还包括步骤:一个所述控制端设备和若干个所述受控端设备加入同一个局域网。

作为进一步优选的方案,所述步骤S1中,控制端设备与受控端设备建立TCP连接的步骤具体为:所述受控端设备建立受控端TCP客户端,所述受控端TCP客户端每隔预定时间向所述控制端TCP服务器上报当前的设备信息。

作为进一步优选的方案,所述步骤S1中,建立设备信息列表的步骤具体为:所述控制端TCP服务器接收设备信息并建立设备信息列表;所述设备信息列表用于记录所述受控端设备的设备信息以及上报设备信息的时间。

作为进一步优选的方案,所述预定时间为0.1s~0.5s。

作为进一步优选的方案,所述步骤S2中,所述UDP广播器发出控制指令并建立临时表的步骤具体为:所述控制端设备的UDP广播器根据设备信息建立临时表,所述临时表用于记录临时信息和所述UDP服务器返回的确认信息。

作为进一步优选的方案,所述步骤S1中的设备信息包括IP地址、MAC地址、名称、状态信息。

作为进一步优选的方案,所述临时表的临时信息包括MAC地址、确认信息。

作为进一步优选的方案,所述步骤S3中的预设时间为0.2s~0.5s。

作为进一步优选的方案,所述确认信息为ACK。

本发明相比于现有技术的优点及有益效果如下:

本发明结合利用UDP广播的快速、及时以及TCP的可靠性来实现。首先控制端设备用UDP广播器发出控制指令;受控端设备接收并响应该控制指令,同时回复确认信息,当控制端设备没有接收到确认信息时,再建立TCP点到点的连接并发送刚才失败的控制指令。通常情况下广播的指令受控设备都能及时收到,如果全部收到,那么就不在建立TCP通信,偶尔会出现少部分控制设备收不到广播,这时才用TCP去发控制指令给这一部分设备。所以这样的通信方式既能保证快速及时,又可以提高可靠性。

附图说明

图1为本发明一种UDP和TCP相互结合的局域网通信方法的流程图;

图2为本发明一种UDP和TCP相互结合的局域网通信方法的原理框图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。

需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

实施例一

请参阅图1,一种UDP和TCP相互结合的局域网通信方法10,所述局域网通信方法基于一个控制端设备及若干个受控端设备,包括步骤:

S1、控制端设备建立控制端TCP服务器、UDP广播器;受控端设备建立受控端TCP服务器、UDP服务器;

所述控制端设备通过所述控制端TCP服务器与所述受控端设备建立TCP连接,并建立设备信息列表;

S2、所述UDP广播器发出控制指令并建立临时表,当受控端设备的UDP服务器接收到所述控制指令时,受控端设备根据控制指令响应动作并向所述UDP广播器返回确认信息;

S3、在预设时间内,判断所述UDP广播器是否收到所有受控端设备的确认信息,如果收到所有确认信息,则执行步骤S7;如果没有收到所有确认信息,则执行步骤S4;

S4、所述控制端设备建立控制端TCP客户端,所述控制端TCP客户端连接为收到确认信息的受控端设备的受控端TCP服务器,补发步骤S2中的控制指令,

S5、判断所述控制指令是否成功发送给受控端TCP服务器,如果成功发送,则执行步骤S7,否则,执行步骤S6;

S6、确定未成功发送控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为离线,执行步骤S8;

S7、确定成功收到控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为在线,执行步骤S8;

S8、删除临时表,一次群控通讯完成。

在本实施例中,所述步骤S1的控制端设备与受控端设备建立TCP连接之前还包括步骤:一个所述控制端设备和若干个所述受控端设备加入同一个局域网。

所述步骤S1中,控制端设备与受控端设备建立TCP连接的步骤具体为:所述受控端设备建立受控端TCP客户端,所述受控端TCP客户端每隔预定时间向所述控制端TCP服务器上报当前的设备信息。

所述步骤S1中,建立设备信息列表的步骤具体为:所述控制端TCP服务器接收设备信息并建立设备信息列表;所述设备信息列表用于记录所述受控端设备的设备信息以及上报设备信息的时间。所述预定时间为0.1s~0.5s。优选的预定时间为0.3s。所述步骤S1中的设备信息包括IP地址、MAC地址、名称、状态信息。

所述步骤S2中,所述UDP广播器发出控制指令并建立临时表的步骤具体为:所述控制端设备的UDP广播器根据设备信息建立临时表,所述临时表用于记录临时信息和所述UDP服务器返回的确认信息。所述步骤S3中的确认信息包括MAC地址和确认信息。所述临时表的临时信息包括MAC地址、确认信息。所述确认信息为ACK。

所述步骤S3中的预设时间为0.2s~1s。所述步骤S3中的预设时间为0.4s~0.8s。在本实施例中,优选的一定时间为0.5s。

工作过程:

准备工作:控制端设备建立控制端TCP服务器、UDP广播器;受控端设备建立受控端TCP服务器、UDP服务器。

通信方式:控制端设备和受控端设备加入同一个局域网内,受控端设备建立受控端TCP客户端,并且,受控端TCP客户端每隔0.3s向控制端TCP服务器上报当前的设备信息,设备信息包括IP地址、MAC地址、名称等,名称为受控设备的名称。请参阅图2,一种UDP和TCP相互结合的局域网通信方法的原理框图20。这里要说明的是,本实施例有两个受控端设备(第一受控端设备和第二受控端设备),所以两个受控端设备的受控端TCP客户端均会每隔0.3s向控制端TCP服务器上报当前自己的IP地址、MAC地址、名称等。

控制端设备收到设备信息后,再建立设备信息列表,在该设备信息列表中包括了两个受控端设备的设备信息以及两个受控端设备最后一次上报设备信息的时间,也可以根据这两个时间来分别判断受控端设备是在线状态还是在离线状态。

当控制端设备发出控制指令给受控端设备之前,首先根据每个受控端设备的设备信息列表信息建立一个临时表,在临时表中含有每个受控端设备的MAC地址,然后,控制端设备的UDP广播器将发出控制指令,而由于两个受控端设备同样也在局域网中,所以两个受控端设备都会通过UDP服务器接收到UDP广播器发出的控制指令,并且响应控制指令的动作,同时,UDP服务器向UDP广播器发送MAC地址和确认信息表示确认收到控制指令。当UDP广播器收到MAC地址和确认信息后,控制端设备在临时表的对应MAC地址处增加确认信息。第一受控端设备的MAC地址处增加第一受控端设备的确认信息,第二受控端设备的MAC地址处增加第二受控端设备的确认信息。

当在预定时间内,比如在0.5s的时间范围内,如果控制端设备接收到所有受控端设备的确认信息,则说明所有受控端设备已经响应设备动作,则确定成功收到控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态为信息在线,删除临时表;如果控制端设备没有接收到所有受控端设备的确认信息,则认为有受控端设备没有接收到控制指令,并且受控端设备也没有响应动作。此时控制端设备再建立控制端TCP客户端,控制端TCP客户端连接受控端设备的受控端TCP服务器,连接之后,再发送刚刚那条失败的控制指令,如果受控端设备成功接收控制指令并响应动作,则确认成功收到控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为在线,如果受控端设备没有接收控制指令并响应动作,确定未成功发送控制指令的受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为离线,最后再删除临时表,完成一次群控通讯。

例如,如果是第一受控端设备没有返回确认信息,那么控制端设备将认为第一受控端设备没有接收到控制指令,第一受控端设备也没有执行受控指令的动作。那么再根据第一受控端设备的MAC地址查询对应的IP地址,控制端设备再建立控制端TCP客户端,控制端TCP客户端连接第一受控端设备的受控端TCP服务器,连接之后,再发送刚刚那条失败的控制指令,如果第一受控端设备成功接收控制指令并响应动作,则确认第一受控端设备的设备信息,更新第一受控端设备在设备列表中的状态信息为在线;如果第一受控端设备没有接收控制指令并响应动作,确定第一受控端设备的设备信息,更新受控端设备在设备列表中的状态信息为离线,最后再删除临时表,完成一次群控通讯。

本发明结合利用UDP广播的快速、及时以及TCP的可靠性来实现。首先控制端设备用UDP广播器发出控制指令;受控端设备接收并响应该控制指令,同时回复确认信息,当控制端设备没有接收到确认信息时,再建立TCP点到点的连接并发送刚才失败的控制指令。通常情况下广播的指令受控设备都能及时收到,如果全部收到,那么就不在建立TCP通信,偶尔会出现少部分控制设备收不到广播,这时才用TCP去发控制指令给这一部分设备。所以这样的通信方式既能保证快速及时,又可以提高可靠性。

以上实施方式仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号