基于UDP组播的局域网内动态寻址服务器的方法和装置与流程

文档序号:16513967发布日期:2019-01-05 09:30阅读:358来源:国知局
基于UDP组播的局域网内动态寻址服务器的方法和装置与流程

本发明涉及udp组播技术领域,更具体地,涉及一种基于udp组播的局域网内动态寻址服务器的方法和装置。



背景技术:

局域网cs(client-server)软件产品发布后,局域网部署是必不可少的环节,特别是多个客户端(包括pc客户端、手机客户端、pad客户端等)的软件产品。

在局域网部署软件产品时,由于网络限制,往往每个局域网的服务端ip和服务端口号都会出现变动,这种不确定性会给软件实施人员带来额外的工作量。现阶段软件实施人员在部署局域网软件产品时,往往先需要架设服务端,在架设完成后确定服务端的ip和服务端口号,然后人工在客户端设置服务端ip和服务端口号,和服务端进行连接。

在客户端较少的情况下,软件实施人员的工作量不算很大,但是如果出现同一局域网内客户端数量很多时,就需要软件实施人员对每个客户端依次进行配置,给软件实施人员带来很大的额外工作量。



技术实现要素:

有鉴于此,本发明提供了一种基于udp组播的局域网内动态寻址服务器的方法和装置,以解决现有技术的问题。

本发明提供了一种基于udp组播的局域网内动态寻址服务器的方法,包括如下步骤:

s1:服务端加入局域网组播域;

s2:服务端对udp组播端口进行监听;

s3:客户端加入局域网组播域;

s4:客户端对udp单播端口进行监听;

s5:客户端向局域网组播域和udp组播端口发送第一udp包,第一udp包包括:客户端ip和udp单播端口号;

s6:服务端接收第一udp包,根据协议报文格式解析第一udp包以获得客户端ip和udp单播端口号;

s7:服务端向客户端ip和udp单播端口发送第二udp包,第二udp包包括:服务端ip和服务端口号;

s8:客户端接收第二udp包,根据协议报文格式解析第二udp包以获得服务端ip和服务端口号;

s9:客户端和服务端通过http或者tcp协议进行至多n次连接,n为正整数;

s10:判断是否连接成功;

如果连接失败,则返回步骤s5;

如果连接成功,则执行步骤s11:客户端关闭对udp单播端口监听,并离开局域网组播域。

优选的,步骤s8还包括:将服务端ip和服务端口号存储到客户端的本地文件中。

优选的,当客户端和服务端的连接断开时,执行如下步骤:

s01:客户端读取本地文件中的服务端ip和服务端口号;

执行步骤s9。

优选的,udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个;

步骤s2进一步为:服务端对udp组播常规端口进行监听,如果udp组播常规端口被占用,则服务端对udp组播备用端口进行监听。

优选的,步骤s7后还包括如下步骤:

s71:判断客户端是否在预设时间t内收到第二udp包;

如果收到,执行步骤s8;

如果没收到,执行步骤s72,

s72:将udp组播常规端口替换为udp组播备用端口;然后执行步骤s5。

本发明还提供了一种基于udp组播的局域网内动态寻址服务器的装置,包括:

服务端、客户端、网络连接设备;

服务端监听单元,用于对udp组播端口进行监听;

客户端监听单元,用于对udp单播端口进行监听;

客户端发送单元,用于通过网络连接设备向udp组播端口发送第一udp包,第一udp包包括:客户端ip和udp单播端口号;

服务端接收单元,用于接收第一udp包,根据协议报文格式解析第一udp包以获得客户端ip和udp单播端口号;

服务端发送单元,用于通过网络连接设备向udp单播端口发送第二udp包,第二udp包包括:服务端ip和服务端口号;

客户端接收单元,用于接收第二udp包,根据协议报文格式解析第二udp包以获得服务端ip和服务端口号;

连接单元,用于将客户端和服务端通过http或者tcp协议进行至多n次连接,n为正整数;

判断单元,用于判断是否连接成功;

如果连接失败,则客户端发送单元重新通过网络连接设备向局udp组播端口发送第一udp包;

如果连接成功,则客户端监听单元关闭对udp单播端口监听。

优选的,客户端接收单元包括:客户端存储单元,用于将客户端接收单元解析获得的服务端ip和服务端口号存储到本地文件中。

优选的,还包括:监测单元,用于监测客户端和服务端的连接是否断开;

如果连接断开,连接单元读取本地文件中的服务端ip和服务端口号,将客户端和服务端重新进行连接。

优选的,udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个。

优选的,网络连接设备包括:路由器和交换机。

与现有技术相比,本发明提供的基于udp组播的局域网内动态寻址服务器的方法和装置,至少实现了如下的有益效果:

1、客户端可以自动获取服务端ip及服务端口号,使客户端自动连接服务端。从而无需经过软件实施人员配置服务端ip及服务端口号,可以减少软件实施人员的工作,提升客户端和服务端的连接效率。

2、后期网络环境改变导致服务端ip和服务端口号改变时,客户端可以重新自动获取服务端ip及服务端口号,使客户端恢复和服务端的连接。从而进一步减少软件实施人员的工作,提升客户端和服务端的连接的稳定性。

3、客户端将服务端ip和服务端口号存储到客户端的本地文件中;当客户端和服务端的连接断开时,客户端读取本地文件中的服务端ip和服务端口号,可以快速的获取服务端ip和服务端口号,使客户端和服务端重新自动连接。

4、客户端和服务端进行连接的次数预设为n次,如果连接失败,则客户端对udp单播端口重新进行监听。后期网络环境改变导致服务端ip和服务端口号改变时,客户端可以再次重新自动获取服务端ip及服务端口号,使客户端恢复和服务端的连接。从而进一步减少软件实施人员的工作,提升客户端和服务端的连接的稳定性。

5、udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个,服务端对udp组播常规端口进行监听,如果udp组播常规端口被占用,则服务端对udp组播备用端口进行监听。udp组播备用端口的具体数量可以根据具体的业务需求进行设置,以进一步保证客户端和服务端连接的可靠性。

6、客户端向局域网组播域和udp组播端口发送第一udp包后,在预设时间t内,如果客户端没有收到第二udp包,则客户端向udp组播备用端口发送第一udp包,从而可以进一步保证客户端和服务端连接的可靠性。

当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是本发明实施例提供的一种基于udp组播的局域网内动态寻址服务器的方法流程图;

图2是本发明实施例提供的另一种基于udp组播的局域网内动态寻址服务器的方法流程图;

图3是本发明实施例提供的一种基于udp组播的局域网内动态寻址服务器的装置结构图;

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

实施例1

请参考图1,本实施例提供了一种基于udp组播的局域网内动态寻址服务器的方法,包括:

步骤s1:服务端加入局域网组播域;

步骤s2:服务端对udp组播端口进行监听;

步骤s3:客户端加入局域网组播域;

步骤s4:客户端对udp单播端口进行监听;

步骤s5:客户端向局域网组播域和udp组播端口发送第一udp包,第一udp包包括:客户端ip和udp单播端口号;

步骤s6:服务端接收第一udp包,根据协议报文格式解析第一udp包以获得客户端ip和udp单播端口号;

步骤s7:服务端向客户端ip和udp单播端口发送第二udp包,第二udp包包括:服务端ip和服务端口号;

步骤s8:客户端接收第二udp包,根据协议报文格式解析第二udp包以获得服务端ip和服务端口号;

步骤s9:客户端和服务端通过http或者tcp协议进行至多n次连接,n为正整数;

步骤s10:判断是否连接成功;

如果连接失败,则返回步骤s5;

如果连接成功,则执行步骤s11:客户端关闭对udp单播端口监听,并离开局域网组播域。

本实施例提供了一种基于udp组播的局域网内动态寻址服务器的方法基于udp组播技术,组播是主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。

在步骤s5中,客户端向局域网组播域和udp组播端口发送包括客户端ip和udp单播端口号的第一udp包,第一udp包根据协议报文格式打包;在步骤s6中,服务端接收第一udp包,并解析第一udp包以获得客户端ip和udp单播端口号;在步骤s7中,服务端向客户端ip和udp单播端口发送包括服务端ip和服务端口号的第二udp包,第二udp包根据协议报文格式打包;在步骤s8中,客户端接收第二udp包,并解析第二udp包以获得服务端ip和服务端口号,从而实现客户端可以自动获取服务端ip及服务端口号,使客户端自动连接服务端。

在步骤s10中,判断是否连接成功,如果判断结果为“否”,即为连接失败,则返回步骤s5,客户端重新向局域网组播域和udp组播端口发送第一udp包,从而再次获取服务端ip及服务端口号。从而进一步实现客户端可以自动获取服务端ip及服务端口号,进一步保证客户端可以成功连接到服务端。

本实施例提供的基于udp组播的局域网内动态寻址服务器的方法,无需经过软件实施人员配置服务端ip及服务端口号,可以减少软件实施人员的工作,提升客户端和服务端的连接效率。

实施例2

请参考图2,本实施例提供了另一种基于udp组播的局域网内动态寻址服务器的方法,包括:

步骤s1:服务端加入局域网组播域;

步骤s2:服务端对udp组播常规端口进行监听,如果udp组播常规端口被占用,则服务端对udp组播备用端口进行监听;其中,udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个;

步骤s3:客户端加入局域网组播域;

步骤s4:客户端对udp单播端口进行监听;

步骤s5:客户端向局域网组播域和udp组播端口发送第一udp包,第一udp包包括:客户端ip和udp单播端口号;

步骤s6:服务端接收第一udp包,根据协议报文格式解析第一udp包以获得客户端ip和udp单播端口号;

步骤s7:服务端向客户端ip和udp单播端口发送第二udp包,第二udp包包括:服务端ip和服务端口号;

步骤s71:判断客户端是否在预设时间t内收到第二udp包;

如果收到,执行步骤s8;

如果没收到,执行步骤s72,

步骤s72:将udp组播常规端口替换为udp组播备用端口;然后执行步骤s5;

步骤s8:客户端接收第二udp包,根据协议报文格式解析第二udp包以获得服务端ip和服务端口号;将服务端ip和服务端口号存储到客户端的本地文件中;

步骤s9:客户端和服务端通过http或者tcp协议进行至多n次连接,n为正整数;

步骤s10:判断是否连接成功;

如果连接失败,则返回步骤s5;

如果连接成功,则执行步骤s11:客户端关闭对udp单播端口监听,并离开局域网组播域。

本实施例提供的方法中,首次连接完成后,如果后续监测到客户端和服务端的连接断开时,执行如下步骤:s01:客户端读取本地文件中的服务端ip和服务端口号;执行步骤s9。

在步骤s8中,客户端将服务端ip和服务端口号存储到客户端的本地文件中;当监测客户端和服务端的连接断开时,客户端可以读取本地文件中的服务端ip和服务端口号,重新进行连接。从而在客户端和服务端的连接断开后,可以快速的获取服务端ip和服务端口号,使客户端和服务端重新自动连接。

本实施例中,客户端和服务端重新进行连接的次数预设为n次,客户端和服务端重新进行n次连接,如果连接失败,则客户端对udp单播端口重新进行监听;n为正整数。当客户端和服务端的连接断开时,客户端读取本地文件中的服务端ip和服务端口号,客户端和服务端重新进行n次连接,第n次连接如果失败,则返回步骤s5,客户端重新发送第一udp包、重新获取服务端ip和服务端口号。后期网络环境改变导致服务端ip和服务端口号改变时,客户端可以再次重新自动获取服务端ip及服务端口号,使客户端恢复和服务端的连接。从而进一步减少软件实施人员的工作,提升客户端和服务端的连接的稳定性。

本实施例中,udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个;服务端对udp组播端口进行监听进一步包括:服务端对udp组播常规端口进行监听,如果udp组播常规端口被占用,则服务端对udp组播备用端口进行监听。udp组播常规端口和udp组播备用端口需要在产品发布前约定,例如,udp组播备用端口可以为1个、2个、3个、4个、5个,udp组播备用端口的具体数量可以根据具体的业务需求进行设置,以进一步保证客户端和服务端连接的可靠性。

本实施例中,客户端向局域网组播域和udp组播端口发送第一udp包后,在预设时间t内,如果客户端没有收到第二udp包,则将udp组播常规端口替换为udp组播备用端口,重新执行步骤s5。例如,预设时间t可以为30s,在30s内,如果客户端没有收到服务端发送的第二udp包,客户端视服务端没有收到第一udp包,则客户端向udp组播备用端口发送第一udp包,返回步骤s5。从而可以进一步保证客户端和服务端连接的可靠性。

实施例3

请参考图3,本实施例提供了一种基于udp组播的局域网内动态寻址服务器的装置,包括:

服务端100、客户端200、网络连接设备300;

服务端监听单元10,用于对udp组播端口进行监听;

客户端监听单元20,用于对udp单播端口进行监听;

客户端发送单元30,用于通过网络连接设备300向udp组播端口发送第一udp包,第一udp包包括:客户端ip和udp单播端口号;

服务端接收单元40,用于接收第一udp包,根据协议报文格式解析第一udp包以获得客户端ip和udp单播端口号;

服务端发送单元50,用于通过网络连接设备300向udp单播端口发送第二udp包,第二udp包包括:服务端ip和服务端口号;

客户端接收单元60,用于接收第二udp包,根据协议报文格式解析第二udp包以获得服务端ip和服务端口号;客户端接收单元60包括:客户端存储单元61,用于将客户端接收单元60解析获得的服务端ip和服务端口号存储到本地文件中。

连接单元70,用于将客户端和服务端通过http或者tcp协议至多n次连接,n为正整数;

判断单元80,用于判断是否连接成功;

如果连接失败,则客户端发送单元30重新通过网络连接设备300向udp组播端口发送第一udp包;

如果连接成功,则客户端监听单元20关闭对udp单播端口监听。

本实施例中,还设置了:监测单元62,用于监测客户端200和服务端100的连接是否断开;

如果连接断开,连接单元70读取本地文件中的服务端ip和服务端口号,将客户端200和服务端100重新进行连接。

本实施例中,udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个。

本实施例中,网络连接设备包括:路由器和交换机。

本实施例提供的基于udp组播的局域网内动态寻址服务器的装置中,客户端200可以自动获取服务端100的服务端ip及服务端口号,使客户端200自动连接服务端100。

并且,判断单元80可以判断是否连接成功,如果判断结果为“否”,即为连接失败,则客户端发送单元30重新通过网络连接设备300向udp组播端口发送第一udp包,从而再次获取服务端ip及服务端口号。从而进一步实现客户端可以自动获取服务端ip及服务端口号,进一步保证客户端可以成功连接到服务端。

本实施例提供的基于udp组播的局域网内动态寻址服务器的装置,无需经过软件实施人员配置服务端ip及服务端口号,可以减少软件实施人员的工作,提升客户端和服务端的连接效率。

本实施例中,客户端接收单元60包括还设置了客户端存储单元61,用于将客户端接收单元60解析获得的服务端ip和服务端口号存储到本地文件中,当监测客户端200和服务端100的连接断开时,连接单元70可以读取本地文件中的服务端ip和服务端口号,重新进行连接。从而在客户端和服务端的连接断开后,可以快速的获取服务端ip和服务端口号,使客户端和服务端重新自动连接。

本实施例中,客户端和服务端进行连接的次数预设为n次,客户端和服务端进行n次连接,如果连接失败,则客户端对udp单播端口重新进行监听,即为客户端发送单元30重新发送第一udp包,从而重新获取服务端ip和服务端口号。在后期网络环境改变导致服务端ip和服务端口号改变时,客户端可以再次重新自动获取服务端ip及服务端口号,使客户端恢复和服务端的连接。从而进一步减少软件实施人员的工作,提升客户端和服务端的连接的稳定性。

本实施例中,udp组播常规端口和udp组播备用端口需要在产品发布前约定,例如,udp组播备用端口可以为1个、2个、3个、4个、5个,udp组播备用端口的具体数量可以根据具体的业务需求进行设置,以进一步保证客户端和服务端连接的可靠性。

通过上述实施例可知,本发明提供的基于udp组播的局域网内动态寻址服务器的方法和装置,至少实现了如下的有益效果:

1、客户端可以自动获取服务端ip及服务端口号,使客户端自动连接服务端。从而无需经过软件实施人员配置服务端ip及服务端口号,可以减少软件实施人员的工作,提升客户端和服务端的连接效率。

2、后期网络环境改变导致服务端ip和服务端口号改变时,客户端可以重新自动获取服务端ip及服务端口号,使客户端恢复和服务端的连接。从而进一步减少软件实施人员的工作,提升客户端和服务端的连接的稳定性。

3、客户端将服务端ip和服务端口号存储到客户端的本地文件中;当客户端和服务端的连接断开时,客户端读取本地文件中的服务端ip和服务端口号,可以快速的获取服务端ip和服务端口号,使客户端和服务端重新自动连接。

4、客户端和服务端进行连接的次数预设为n次,如果连接失败,则客户端对udp单播端口重新进行监听。后期网络环境改变导致服务端ip和服务端口号改变时,客户端可以再次重新自动获取服务端ip及服务端口号,使客户端恢复和服务端的连接。从而进一步减少软件实施人员的工作,提升客户端和服务端的连接的稳定性。

5、udp组播端口包括udp组播常规端口和udp组播备用端口,udp组播备用端口的数量为1个-5个,服务端对udp组播常规端口进行监听,如果udp组播常规端口被占用,则服务端对udp组播备用端口进行监听。udp组播备用端口的具体数量可以根据具体的业务需求进行设置,以进一步保证客户端和服务端连接的可靠性。

6、客户端向局域网组播域和udp组播端口发送第一udp包后,在预设时间t内,如果客户端没有收到第二udp包,则客户端向udp组播备用端口发送第一udp包,从而可以进一步保证客户端和服务端连接的可靠性。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1