一种基于双端口备份技术的局域网设备发现方法技术

技术编号:20119443 阅读:22 留言:0更新日期:2019-01-16 12:21
本发明专利技术公开了一种基于双端口备份技术的局域网设备发现方法,包括步骤:A.初始化SDK当前运行的信息;B.创建两个套接字分别对主端口和备用端口进行套接字绑定;C.启动两个线程分别接受主端口和备用端口的数据报文;D.对数据报文的内容进行校验,判断数据报文的内容是否符合SDK内部协议;E.若符合SDK内部协议则进入步骤F,否则丢弃数据报文;F.根据数据报文中携带的服务信息进行判断是否为对端服务信息,若是则提取其中的对端服务IP和端口,建立TCP连接;G.连接成功后发送获取设备信息请求,收到设备信息回复后,SDK即可发现设备。本发明专利技术的方法可保证在主端口无法绑定或被其他应用占用的情况下,不影响本地SDK的功能。

A Method of LAN Device Discovery Based on Dual-Port Backup Technology

The invention discloses a LAN device discovery method based on dual-port backup technology, which includes steps: A. initializing the current running information of SDK; B. creating two sockets to bind the main port and the standby port respectively; C. starting two threads to receive the data message of the main port and the standby port respectively; D. verifying the content of the data message and judging the data message. If the content of the article conforms to the SDK internal protocol, E. If conforms to the SDK internal protocol, step F will be taken, otherwise the data message will be discarded; F. According to the service information carried in the data message, judge whether it is the end-to-end service information, if it is extracted from the end-to-end service IP and port, establish a TCP connection; G. After successful connection, send a request for equipment information, and receive a reply to the equipment information, S. The device can be found by DK. The method of the invention can ensure that the function of the local SDK is not affected when the main port cannot be bound or occupied by other applications.

【技术实现步骤摘要】
一种基于双端口备份技术的局域网设备发现方法
本专利技术涉及物联网通信
,特别涉及一种基于双端口备份技术的局域网设备发现方法。
技术介绍
随着mDNS(multicastDNS,组播DNS)在苹果公司产品(iphone、ipad、Mac等)的广泛应用,以及越来越多的硬件和软件厂商对其设备中mDNS协议的支持,mDNS协议基本已经成为局域网内设备和服务互相发现的业界标准,mDNS的使用场景最多的情况是在局域网内。通过5353端口,每个进入局域网内的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,例如,我是谁以及我的IP地址是多少等,然后其他开启mDNS服务的主机就会发出响应,例如,我是谁以及我的IP地址是多少等。mDNS使用5353端口,在内网没有DNS服务器时,就会出现此组播信息。组播DNS是IETF零配置网络(zeroconf)的参与者和DNS扩展(dnsext)工作组共同努力的结果。Zeroconf工作组提出了需求,DNSEXT组受到特许进行细节实现。即mDNS主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信。局域网设备发现,基于mDNS协议的局域网网络服务发现。自定义端口组播或者广播发现设备,发现成功率不高,而采用mDNS协议虽然可以提高设备发现成功率,但有可能遇到mDNS专用端口5353被其他应用占用的情况。同时,由于到mDNS采用固定端口5353,而各个芯片上方案不同,有的芯片上内置支持到mDNS,但是由于这些硬件平台系统内核虽然已经内置了到mDNS功能模块,但是没有将到mDNS默认端口5353配置为端口复用,导致其他到mDNS程序在移植时,会无法使用5353端口,于是移植本地SDK时会导致SDK初始化不成功。
技术实现思路
本专利技术的目的是克服上述
技术介绍
中不足,提供一种基于双端口备份技术的局域网设备发现方法,可有效解决主端口5353端口无法绑定的场景,且采用将9393端口作为备用端口,确保在5353端口被其他应用占用的情况下,不影响本地SDK的功能。为了达到上述的技术效果,本专利技术采取以下技术方案:一种基于双端口备份技术的局域网设备发现方法,具体包括以下步骤:A.初始化SDK当前运行的信息;B.创建两个套接字分别对主端口和备用端口进行套接字绑定,在主端口和备用端口均绑定成功时进入步骤C;C.启动两个线程分别接受主端口和备用端口的数据报文;D.汇总收到的数据报文,并对数据报文的内容进行校验,判断数据报文的内容是否符合SDK内部协议;E.若数据报文的内容符合SDK内部协议则进入步骤F,否则直接丢弃采集到的数据报文;F.处理数据报文,根据数据报文中携带的服务信息进行判断是否为对端服务信息,对判定为属于对端服务信息的数据报文信息则提取其中的对端服务IP和端口,建立TCP连接;G.TCP连接建立成功后,发送获取设备信息请求,收到设备信息回复后,SDK即可发现设备,设备即可上线;H.设备上线后即进入设备管理和控制的模块常规流程。进一步地,所述步骤A中初始化SDK当前运行的信息具体包括:启动发现、启动被发现,设备SN配置。进一步地,所述步骤C中启动两个线程分别接受主端口和备用端口的数据报文的同时还对主端口和备用端口分别进行监听。进一步地,所述主端口为5353端口,所述备用端口为9393端口。本专利技术与现有技术相比,具有以下的有益效果:本专利技术的基于双端口备份技术的局域网设备发现方法中,采用双端口备份技术,将另一个端口9393作为备用端口,采用5353和9393双端口同时进行收发包技术,9393端口作为5353端口的备用端口,从而在已经开发完成的一套本地SDK模块需要移植到一个全新的平台上时,即在存在新的芯片方案或者新的操作系统时,也可实现设备的局域网发现和管理,而无需担心新的平台上特定端口是否被占用。同时,在本地SDK模块没有实现双端口备份技术又需要移植到新平台上时,一旦发现设备的发现和管理功能失效,也可以应用本专利技术的基于双端口备份技术的局域网设备发现方法,从而保证在主端口5353端口无法绑定或被其他应用占用的情况下,不影响本地SDK的功能。附图说明图1是本专利技术的基于双端口备份技术的局域网设备发现方法的流程示意图。具体实施方式下面结合本专利技术的实施例对本专利技术作进一步的阐述和说明。实施例:如图1所示,一种基于双端口备份技术的局域网设备发现方法,采用双端口备份技术,将另一个端口9393作为备用端口,采用5353和9393双端口同时进行收发包技术,9393端口作为5353端口的备用端口,具体包括以下步骤:S1.初始化SDK当前运行的信息,如启动发现、启动被发现,设备SN配置等;B.创建两个套接字分别对主端口和备用端口进行套接字绑定,在主端口和备用端口均绑定成功时进入步骤C;其中,主端口为5353端口,所述备用端口为9393端口。C.启动两个线程分别接受主端口和备用端口的数据报文,并同时对主端口和备用端口分别进行监听;D.汇总收到的数据报文,并对数据报文的内容进行校验,判断数据报文的内容是否符合SDK内部协议;E.若数据报文的内容符合SDK内部协议则进入步骤F,否则直接丢弃采集到的数据报文;F.处理数据报文,根据数据报文中携带的服务信息进行判断是否为对端服务信息,对判定为属于对端服务信息的数据报文信息则提取其中的对端服务IP和端口,建立TCP连接;G.TCP连接建立成功后,发送获取设备信息请求,收到设备信息回复后,SDK即可发现设备,设备即可上线;H.设备上线后即进入设备管理和控制的模块常规流程。综上所述,本专利技术的基于双端口备份技术的局域网设备发现方法中,采用双端口备份技术,将另一个端口9393作为备用端口,采用5353和9393双端口同时进行收发包技术,9393端口作为5353端口的备用端口,从而在已经开发完成的一套本地SDK模块需要移植到一个全新的平台上时,即在存在新的芯片方案或者新的操作系统时,也可实现设备的局域网发现和管理,而无需担心新的平台上特定端口是否被占用。同时,在本地SDK模块没有实现双端口备份技术又需要移植到新平台上时,一旦发现设备的发现和管理功能失效,也可以应用本专利技术的基于双端口备份技术的局域网设备发现方法,从而保证在主端口5353端口无法绑定或被其他应用占用的情况下,不影响本地SDK的功能。可以理解的是,以上实施方式仅仅是为了说明本专利技术的原理而采用的示例性实施方式,然而本专利技术并不局限于此。对于本领域内的普通技术人员而言,在不脱离本专利技术的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本专利技术的保护范围。本文档来自技高网
...

【技术保护点】
1.一种基于双端口备份技术的局域网设备发现方法,其特征在于,具体包括以下步骤:A.初始化SDK当前运行的信息;B.创建两个套接字分别对主端口和备用端口进行套接字绑定,在主端口和备用端口均绑定成功时进入步骤C;C.启动两个线程分别接受主端口和备用端口的数据报文;D.汇总收到的数据报文,并对数据报文的内容进行校验,判断数据报文的内容是否符合SDK内部协议;E.若数据报文的内容符合SDK内部协议则进入步骤F,否则直接丢弃采集到的数据报文;F.处理数据报文,根据数据报文中携带的服务信息进行判断是否为对端服务信息,对判定为属于对端服务信息的数据报文信息则提取其中的对端服务IP和端口,建立TCP连接;G.TCP连接建立成功后,发送获取设备信息请求,收到设备信息回复后,SDK即可发现设备,设备即可上线;H.设备上线后即进入设备管理和控制的模块常规流程。

【技术特征摘要】
1.一种基于双端口备份技术的局域网设备发现方法,其特征在于,具体包括以下步骤:A.初始化SDK当前运行的信息;B.创建两个套接字分别对主端口和备用端口进行套接字绑定,在主端口和备用端口均绑定成功时进入步骤C;C.启动两个线程分别接受主端口和备用端口的数据报文;D.汇总收到的数据报文,并对数据报文的内容进行校验,判断数据报文的内容是否符合SDK内部协议;E.若数据报文的内容符合SDK内部协议则进入步骤F,否则直接丢弃采集到的数据报文;F.处理数据报文,根据数据报文中携带的服务信息进行判断是否为对端服务信息,对判定为属于对端服务信息的数据报文信息则提取其中的对端服务IP和端口,建立TCP连接;G.TCP连接建立成...

【专利技术属性】
技术研发人员:陈梁
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1