System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及网络通信,特别是涉及一种服务探测方法、装置、电子设备及存储介质。
技术介绍
1、在互联网中,发起方需要与接收方通信时,需要知道接收方的ip(internetprotocol,因特网协议)地址,以使得发起方与接收方建立连接,实现通信。例如,在cs(client-server,客户端-服务器)架构中,客户端需要获知服务器的ip地址,以使客户端与服务器建立连接,实现客户端与服务器的通信。
2、如果发起方和接收方处于同一个局域网内,发起方可以通过广播或组播的方式探测到局域网内接收方的ip地址。然而,发起方和接收方可能处于不同的局域网内,发起方无法通过广播或组播的方式探测到接收方的ip地址,无法实现发起方和接收方之间的连接建立,无法实现发起方和接收方之间的通信。
技术实现思路
1、本申请实施例的目的在于提供一种服务探测方法、装置、电子设备及存储介质,以实现在发起方和接收方处于不同的局域网内时,发起方获知接收方的地址,进而实现发起方与接收方的通信。具体技术方案如下:
2、第一方面,本申请实施例提供了一种服务探测方法,应用于第一设备,所述方法包括:
3、向预设公网设备发送第一发现报文,所述第一发现报文携带生存时间,以使接收到所述第一发现报文的第二设备在所述生存时间超时时,向所述第一设备发送超时报文;
4、获取所述超时报文的源地址所属的目标网段;
5、向所述目标网段中的多个地址对应的设备发送第二发现报文,所述第二发现报文的目的端
6、若接收到所述第二发现报文对应的发现响应报文,则将所述发现响应报文的源地址作为所述第三设备的地址。
7、可选的,所述方法还包括:
8、若未接收到所述第二发现报文对应的发现响应报文,则将所述生存时间增大预设时长,返回执行所述向预设公网设备发送第一发现报文的步骤。
9、可选的,在返回执行所述向预设公网设备发送第一发现报文的步骤之前,所述方法还包括:
10、判断探测次数是否达到预设次数,所述探测次数为所述第一设备发送所述第一发现报文的次数;
11、若否,则返回执行所述向预设公网设备发送第一发现报文的步骤。
12、可选的,在所述获取所述超时报文的源地址所属的目标网段的步骤之前,所述方法还包括:
13、判断所述超时报文的源地址是否为私有地址;
14、若是,则执行所述获取所述超时报文的源地址所属的目标网段的步骤。
15、可选的,所述方法还包括:
16、在所述第一设备所属局域网内广播探测报文,所述探测报文的目的端口为所述第三设备的端口;
17、若接收到所述第三设备反馈的所述探测报文对应的探测响应报文,则将所述探测响应报文的源地址作为所述第三设备的地址;
18、若未接收到所述第三设备反馈的所述探测报文对应的探测响应报文,则执行所述向预设公网设备发送第一发现报文的步骤。
19、可选的,在获得所述第三设备的地址之后,所述方法还包括:
20、根据所述第三设备的地址,向所述第三设备发送连接请求报文,以使所述第三设备与所述第一设备建立连接,所述连接请求报文的目的端口为所述第三设备的端口。
21、可选的,所述第一发现报文为无连接协议的报文,且所述第一发现报文的目的端口为未被占用的端口。
22、第二方面,本申请实施例提供了一种服务探测装置,应用于第一设备,所述装置包括:
23、第一发送模块,用于向预设公网设备发送第一发现报文,所述第一发现报文携带生存时间,以使接收到所述第一发现报文的第二设备在所述生存时间超时时,向所述第一设备发送超时报文;
24、目标网段获取模块,用于获取所述超时报文的源地址所属的目标网段;
25、第二发送模块,用于向所述目标网段中的多个地址对应的设备发送第二发现报文,所述第二发现报文的目的端口为提供通信服务的第三设备的端口;
26、第一确定模块,用于若接收到所述第二发现报文对应的发现响应报文,则将所述发现响应报文的源地址作为所述第三设备的地址。
27、可选的,所述装置还包括:
28、第一返回模块,用于若未接收到所述第二发现报文对应的发现响应报文,则将所述生存时间增大预设时长,返回执行所述向预设公网设备发送第一发现报文的步骤。
29、可选的,所述装置还包括:
30、第一判断模块,用于在返回执行所述向预设公网设备发送第一发现报文的步骤之前,判断探测次数是否达到预设次数,所述探测次数为所述第一设备发送所述第一发现报文的次数;
31、第二返回模块,用于若否,则返回执行所述向预设公网设备发送第一发现报文的步骤。
32、可选的,所述装置还包括:
33、第二判断模块,用于在所述获取所述超时报文的源地址所属的目标网段的步骤之前,判断所述超时报文的源地址是否为私有地址;
34、第一执行模块,用于若是,则执行所述获取所述超时报文的源地址所属的目标网段的步骤。
35、可选的,所述装置还包括:
36、探测报文广播模块,用于在所述第一设备所属局域网内广播探测报文,所述探测报文的目的端口为所述第三设备的端口;
37、第二确定模块,用于若接收到所述第三设备反馈的所述探测报文对应的探测响应报文,则将所述探测响应报文的源地址作为所述第三设备的地址;
38、第二执行模块,用于若未接收到所述第三设备反馈的所述探测报文对应的探测响应报文,则执行所述向预设公网设备发送第一发现报文的步骤。
39、可选的,所述装置还包括:
40、第三发送模块,用于在获得所述第三设备的地址之后,根据所述第三设备的地址,向所述第三设备发送连接请求报文,以使所述第三设备与所述第一设备建立连接,所述连接请求报文的目的端口为所述第三设备的端口。
41、可选的,所述第一发现报文为无连接协议的报文,且所述第一发现报文的目的端口为未被占用的端口。
42、第三方面,本申请实施例提供了一种电子设备,包括:
43、存储器,用于存放计算机程序;
44、处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的方法。
45、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法。
46、本申请实施例有益效果:
47、本申请实施例提供的方案中,理论上,相对于公网设备,为第一设备提供服务器的第三设备距离第一设备较近。第一设备向预设公网设备发送携带生存时间的第一发现报文,这样,在第一发现报文未到达预设公网设备时,第一发现报文携带的生存时间超时,那么向第一设备发送超时报文的第二设备,其地址(超时报文的本文档来自技高网...
【技术保护点】
1.一种服务探测方法,其特征在于,应用于第一设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在返回执行所述向预设公网设备发送第一发现报文的步骤之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述获取所述超时报文的源地址所属的目标网段的步骤之前,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1-4任一项所述的方法,其特征在于,在获得所述第三设备的地址之后,所述方法还包括:
7.根据权利要求1-4任一项所述的方法,其特征在于,所述第一发现报文为无连接协议的报文,且所述第一发现报文的目的端口为未被占用的端口。
8.一种服务探测装置,其特征在于,应用于第一设备,所述装置包括:
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其特征在于,所
...【技术特征摘要】
1.一种服务探测方法,其特征在于,应用于第一设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在返回执行所述向预设公网设备发送第一发现报文的步骤之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述获取所述超时报文的源地址所属的目标网段的步骤之前,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1-4任一项所述的方法,其特征在于,在获得所...
【专利技术属性】
技术研发人员:金磊,单志胜,邵峰,吕高扬,吴海丁,操捷,
申请(专利权)人:杭州萤石软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。