CN110933191A - Ip地址获取方法、装置、上位机和存储介质 - Google Patents
Ip地址获取方法、装置、上位机和存储介质 Download PDFInfo
- Publication number
- CN110933191A CN110933191A CN201910995220.5A CN201910995220A CN110933191A CN 110933191 A CN110933191 A CN 110933191A CN 201910995220 A CN201910995220 A CN 201910995220A CN 110933191 A CN110933191 A CN 110933191A
- Authority
- CN
- China
- Prior art keywords
- address
- response data
- preset
- computer
- lower computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及通信技术领域,尤其涉及一种IP地址获取方法、装置、上位机和存储介质。IP地址获取方法应用于上位机,所述方法包括:遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n‑1,i为正整数;判断在预设时间内是否接收到下位机的响应数据;若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。本申请的技术方案,能快速获取到目标IP地址。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种IP地址获取方法、装置、上位机和存储介质。
背景技术
上位机一般包括多张网卡。在一个未知IP地址的下位机和上位机相连,需要获取下位机的IP地址时,由于上位机给下位机分配一个网卡,加上上位机本身的网卡,很难确认哪个网卡是下位机的网卡,更难以获取下位机的IP地址。现有技术并没有针对该情况有很好的解决方案。
因此,如何提供一种能快速获取下位机的IP地址的方案,是本领域技术人员亟待解决的技术问题。
发明内容
本申请提供一种IP地址获取方法、装置、上位机和存储介质,本申请的方案,具有能快速获取下位机IP地址的优点。
第一方面,本申请提供一种IP地址获取方法,应用于上位机,所述方法包括:
遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
判断在预设时间内是否接收到下位机的响应数据;
若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
优选地,在所述遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息之前,所述方法还包括:
初始化网络服务。
优选地,所述以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,包括:
创建广播服务;
以所述预设端口和预设组播地址作为广播地址;
以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
优选地,所述读取所述响应数据并判断是否能正常读取,具体包括:
通过recvfrom函数读取响应数据;
在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;
在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
优选地,所述方法还包括:
若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令;
根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
优选地,所述IP地址请求指令的预设格式为帧头+长度+数据+帧尾。
第二方面,本申请还提供一种IP地址获取装置,所述IP地址获取装置包括:
网卡信息获取模块,用于遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
第一广播模块,用于以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
第一判断模块,用于判断在预设时间内是否接收到下位机的响应数据;
第二判断模块,用于若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
IP获取模块,用于若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
优选地,所述第一广播模块包括:
创建单元,用于创建广播服务;
广播地址确定单元,用于以所述预设端口和预设组播地址作为广播地址;
发送单元,用于以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
优选地,IP地址获取装置还包括:
初始化模块,用于初始化网络服务。
优选地,IP地址获取装置还包括:
第二广播模块,用于若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令。
优选地,IP获取模块还用于根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
优选地,第二判断模块包括:
读取单元,用于通过recvfrom函数读取响应数据;
确定单元,用于在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
第三方面,本申请还提供一种上位机,所述上位机包括:
存储器,用于存储IP地址获取程序;
处理器,用于执行所述IP地址获取程序时实现本申请第一方面实施例所述的IP地址获取方法。
第四方面,本申请一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述存储介质中存储有IP地址获取程序,所述IP地址获取程序被处理器执行时实现本申请第一方面实施例所述的IP地址获取方法。
与现有技术相比,本申请提供的技术方案,遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;判断在预设时间内是否接收到下位机的响应数据;若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;若正常读取,则从所述响应数据中获取所述下位机的目标IP地址,能快速获取到IP地址未知的目标装置的目标IP地址。
附图说明
图1为本申请第一实施例提供的IP地址获取系统的结构示意图。
图2为本申请第二实施例提供的IP地址获取方法的流程图。
图3为图2中步骤S12的详细流程图。
图4为图2中步骤S14的详细流程图。
图5为本申请第三实施例提供的IP地址获取装置的模块示意图。
图6为本申请第四实施例提供的上位机的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,如下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,本申请第一实施例提供了一种网络协议(Internet Protocol,IP)地址获取系统10,IP地址获取系统包括上位机11和下位机12,上位机11与下位机12通信连接。上位机11能获取下位机12的IP地址。
下位机12的类型不做限定,下位机12可以为汽车通信接口设备、个人计算机、工业电脑、单片机等能与上位机11进行通信的设备。其中,汽车通信接口设备,为VCI(VehicleCommunication Interface)设备,用于连接汽车故障诊断仪和汽车,完成汽车故障诊断仪和汽车之间的通信。下位机包括一个物理网卡,物理网卡包括一个IP地址。物理网卡又称网络适配器,是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。
上位机11为如可以是个人电脑、工业电脑和服务器等具有计算处理功能的设备。上位机11包括至少两个网卡,不同的上位机11,其所包括的网卡的数量可能不同。下位机12和上位机11建立通信连接时,下位机12会给上位机11分配一个虚拟网卡并随机分配一个IP地址,虚拟网卡和对应的IP地址位于上位机中。下位机12和上位机11断开通信连接时,上位机11中,下位机12会给上位机11分配的虚拟网卡和对应的IP地址会消失。虚拟网卡又称虚拟网络适配器,即用软件模拟网络环境,模拟网络适配器。具体的,在使用时,上位机11可以为个人电脑,下位机12可以为汽车通信接口设备,通过个人电脑获取汽车通信接口设备的物理网卡的IP地址。
上位机11获取下位机12的IP地址时,可以包括:
遍历所述上位机11的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
判断在预设时间内是否接收到下位机12的响应数据;
若接收到所述下位机12的响应数据,则读取所述响应数据并判断是否能正常读取;
若正常读取,则从所述响应数据中获取所述下位机12的目标IP地址。
优选地,遍历所述上位机11的全部n个网卡以获取所述n个网卡的IP地址信息之前,还初始化网络服务。
优选地,所述以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,包括:
创建广播服务;
以所述预设端口和预设组播地址作为广播地址;
以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
优选地,所述读取所述响应数据并判断是否能正常读取,具体包括:
通过recvfrom函数读取响应数据;
在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;
在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
优选地,上位机11获取下位机12的IP地址时,上位机11还进行如下处理:
若在预设时间内没有接收到下位机12的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令;
根据预设时间内接收到的下位机12的可正常读取的响应数据获取所述下位机12的目标IP地址。
请参阅图2,图2为本申请第二实施例提供的一种IP地址获取方法,该IP地址获取方法可由IP地址获取装置来执行,该IP地址获取装置可通过硬件和/或软件的方式来实现,IP地址获取方法可应用于上述实施例的上位机,用于获取下位机的IP地址。该IP地址获取方法包括:
S11:遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数。
遍历,是指沿着某条搜索路线,依次对树或图中每个节点均做一次访问。对上位机的网卡遍历,能获取所有网卡的IP地址信息。本申请中的网卡,包括物理网卡和虚拟网卡,其中有一个虚拟网卡的IP地址是下位机的给上位机分配虚拟网卡时随机生成的IP地址。其中,汽车通信接口设备,为VCI(Vehicle Communication Interface)设备,用于连接汽车故障诊断仪和汽车,完成汽车故障诊断仪和汽车之间的通信。不同的上位机,其所包括的网卡的数量可能不同。上位机的网卡一般包括多个,其中一个为汽车通信接口设备的网卡。
优选地,在遍历上位机的所有网卡以获取所有网卡的IP地址信息之前,还包括:
初始化网络服务。
即重置Winsock目录,可通过netsh winsock reset命令进行初始化。初始化后,不会出现网络连接失败的问题,利于后续方案的进行。
S12:以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数。
端口是预先设置的,设置端口时,可以根据需要进行设置,或根据要获取的目标IP地址的设备的特性进行设置,如针对汽车通信接口设备,端口可以设置为22536。1≤i≤n-1,则i先取值为1,即先以第1个网卡的IP地址作为源地址。第一个网卡的IP地址可能是下位机和上位机建立通信连接时,下位机给上位机分配虚拟网卡时随机分配的IP地址,也可能是上位机上的其他网卡的IP地址。
预设的IP地址请求指令,为目标的下位机能够识别的指令,其他不同的设备不能识别。具体的,如上位机中包括A网卡、B网卡和C网卡。其中,假设A网卡为上位机用于上网的网卡,B网卡为目标的下位机和上位机通信连接时给上位机分配的虚拟网卡,C网卡为C设备和上位机通信连接时给上位机分配的虚拟网卡,在目标的下位机为汽车通信接口设备时,则IP地址请求指令为汽车通信接口设备能够识别的指令。若第一个网卡为A网卡,则以A网卡对应的IP地址作为源地址,广播预设格式的IP地址请求指令,从而目标的下位机和C设备都能接收到广播信息,即都能接收到IP地址请求指令,但C设备不能识别IP地址请求指令,故C设备对IP地址请求指令无响应,或响应错误,如C设备不返回信息,或返回错误的信息,目标的下位机能识别IP地址请求指令,目标的下位机会对A网卡产生响应,返回响应数据,其中,响应数据包括了目标下位机的物理网卡的IP地址,即响应数据包括了汽车通信接口设备的物理网卡的IP地址。若第一个网卡为B网卡,则以B网卡对应的IP地址作为源地址,广播预设格式的IP地址请求指令,A网卡和C设备都不能识别IP地址请求指令,故A网卡和C设备对IP地址请求指令无响应,或响应错误,如C设备不返回信息,或返回错误的信息。IP地址请求指令的预设格式不做限定,如可以为帧头+长度+数据+帧尾。
广播预设格式的IP地址请求指令,即除了作为源地址的网卡,其他网卡都能接收到广播的IP地址请求指令。进行广播时,以预设的地址作为组播地址。请参阅图3,具体的,广播预设格式的IP地址请求指令,包括:
S121:创建广播服务。
创建广播服务,可以打通不同网卡之间的连接。如可通过用户数据报协议(UserDatagram Protocol,UDP)创建广播服务。
S122:以所述预设端口和预设组播地址作为广播地址。
预设端口和源地址的端口相同。组播地址可以根据需要进行设置,如可设置组播地址为224.0.0.1。设置预设端口和组播地址,即设置好了广播地址。
S123:以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
向广播地址发送IP地址请求指令,则除了源地址之外的网卡都能接收到IP地址请求指令。
S13:判断在预设时间内是否接收到下位机的响应数据。
预设时间的具体时间长短不做限定,可根据需要进行设置。如预设时间可以为1s。在下位机接收到IP地址请求指令后,下位机可能会产生响应,返回响应数据,在返回响应数据后,上位机即可接收到响应数据。若在预设时间内没有接收到响应数据,则说明下位机对IP地址请求指令没有响应。
S14:若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取。
请参阅图4,读取所述响应数据并判断是否能正常读取,可以包括:
S141:通过recvfrom函数读取响应数据。
recvfrom函数用来接收上位机经指定的socket传来的数据,并把数据传到由参数buf指向的内存空间,参数len为可接收数据的最大长度。参数flags一般设0,其他数值定义参考recv(),参数from用来指定欲传送的网络地址,结构sockaddr请参考bind()函数,参数fromlen为sockaddr的结构长度。
S142:在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常。
获取的数据个数为大于等于0,在数据的个数大于0,则说明响应数据读取正常,在数据的个数等于0,则说明响应数据读取错误。
S143:在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
S15:若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
在下位机给上位机分配虚拟网卡时随机生成的IP地址不是源地址时,下位机能接收到IP地址请求指令,从而下位机能返回能被正常读取的响应数据,响应数据中包括了下位机的物理网卡的目标IP地址,则从响应数据中获取目标IP地址,也即获取到下位机的物理网卡的目标IP地址。
S16:若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令。
若下位机给上位机分配虚拟网卡时随机生成的IP地址为源地址,则下位机接收不到IP地址请求指令,下位机不会返回响应数据,其他网卡接收到IP地址请求指令。从而源地址接收不到响应数据,或接收的响应数据不可读取或可以读取,但会读取错误。若在预设时间内没有接收到响应数据、或预设时间内接收到的响应数据不可读取、或读取错误时,则说明下位机给上位机分配虚拟网卡时随机生成的IP为源地址。则更换其他网卡的IP地址作为源地址,以第i+1个网卡的IP地址为源地址,例如,若前面的i取值为1,则以第2个网卡的IP地址为源地址,若前面的i取值为2,则以第3个网卡的IP地址为源地址。可以理解,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令后,再次预设时间内没有接收到响应数据、或预设时间内接收到的响应数据不可读取、或读取错误时,继续以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令i的数值增加1。
在以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令后,会再次判断在预设时间内是否接收到下位机的响应数据;若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;若正常读取,则从所述响应数据中获取所述下位机的目标IP地址,即根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
本实施例提供的IP地址获取方法,遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;判断在预设时间内是否接收到下位机的响应数据;若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;若正常读取,则从所述响应数据中获取所述下位机的目标IP地址,能快速获取到IP地址未知的目标装置的目标IP地址。
请参阅图5,本申请第三实施例提供了一种IP地址获取装置20,用于在存储器故障时使其恢复正常。IP地址获取装置20可以可应用于上位机,上位机如可以是电脑,服务器等具有计算处理功能的设备。该IP地址获取装置30可实现前述实施例的IP地址获取方法,IP地址获取装置30包括:
网卡信息获取模块21,用于遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
第一广播模块22,用于以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
第一判断模块23,用于判断在预设时间内是否接收到下位机的响应数据;
第二判断模块24,用于若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
IP获取模块25,用于若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
本申请的IP地址获取装置,遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;判断在预设时间内是否接收到下位机的响应数据;若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;若正常读取,则从所述响应数据中获取所述下位机的目标IP地址,能快速获取到IP地址未知的目标装置的目标IP地址。
优选地,IP地址获取装置20还包括:
初始化模块,用于初始化网络服务。
优选地,IP地址获取装置20还包括:
第二广播模块,用于若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令。
优选地,IP获取模块25还用于根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
优选地,第二判断模块24包括:
读取单元,用于通过recvfrom函数读取响应数据;
确定单元,用于在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
优选地,第一广播模块22,包括:
创建单元,用于创建广播服务;
广播地址确定单元,用于以所述预设端口和预设组播地址作为广播地址;
发送单元,用于以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
上述产品可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
请参阅图6,本申请第四实施例还提供了一种上位机及存储介质,其均具有本申请前述实施例提供的一种IP地址获取方法具有的对应效果,上位机为上述实施例的上位机。
本申请实施例提供的一种上位机,包括存储器31和处理器32,存储器31中存储有IP地址获取程序,处理器32执行存储器31中存储的IP地址获取程序时实现如下步骤:
遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
判断在预设时间内是否接收到下位机的响应数据;
若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
优选地,上位机的处理器执行存储器中存储的IP地址获取程序时还实现如下步骤:若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令;根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
优选地,上位机的处理器执行存储器中存储的IP地址获取程序时还实现如下步骤:初始化网络服务。
优选地,上位机的处理器执行存储器中存储的IP地址获取程序时还实现如下步骤:通过recvfrom函数读取响应数据;在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
优选地,上位机的处理器执行存储器中存储的IP地址获取程序时还实现如下步骤:创建广播服务;以所述预设端口和预设组播地址作为广播地址;以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
本申请实施例提供的一种存储介质,存储介质为计算机可读存储介质,计算机可读存储介质中存储有IP地址获取程序,IP地址获取程序被处理器执行时具体实现如下步骤:
遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
判断在预设时间内是否接收到下位机的响应数据;
若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
优选地,计算机可读存储介质中存储的IP地址获取程序被处理器执行时具体还实现如下步骤:若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令;根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
优选地,计算机可读存储介质中存储的IP地址获取程序被处理器执行时具体实现如下步骤:初始化网络服务。
优选地,计算机可读存储介质中存储的IP地址获取程序被处理器执行时具体实现如下步骤:通过recvfrom函数读取响应数据;在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
优选地,计算机可读存储介质中存储的IP地址获取程序被处理器执行时具体实现如下步骤:创建广播服务;以所述预设端口和预设组播地址作为广播地址;以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
本申请所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、紧凑型光盘只读储存器(Compact Disc Read-Only Memory,CD-ROM)、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种IP地址获取方法、装置、系统及计算机可读存储介质中相关部分的说明请参见本申请前述实施例提供的一种IP地址获取方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上仅为本申请的优选实施例,并非因此限制本申请的保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的保护范围内。
Claims (10)
1.一种IP地址获取方法,其特征在于,应用于上位机,所述方法包括:
遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
判断在预设时间内是否接收到下位机的响应数据;
若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
2.根据权利要求1所述的方法,其特征在于,在所述遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息之前,所述方法还包括:
初始化网络服务。
3.根据权利要求1所述的方法,其特征在于,所述以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,包括:
创建广播服务;
以所述预设端口和预设组播地址作为广播地址;
以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
4.根据权利要求1所述的方法,其特征在于,所述读取所述响应数据并判断是否能正常读取,具体包括:
通过recvfrom函数读取响应数据;
在获取的数据个数大于0时,确定预设时间内接收到的响应数据读取正常;
在获取的数据个数为0时,确定预设时间内接收到的响应数据读取错误。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在预设时间内没有接收到下位机的响应数据、或预设时间内接收到的响应数据不可读取、或响应数据读取错误时,以所述预设端口和第i+1个网卡的IP地址为源地址,广播预设格式的IP地址请求指令;
根据预设时间内接收到的下位机的可正常读取的响应数据获取所述下位机的目标IP地址。
6.如权利要求1-5任一项所述的方法,其特征在于,所述IP地址请求指令的预设格式为帧头+长度+数据+帧尾。
7.一种IP地址获取装置,其特征在于,所述装置包括:
网卡信息获取模块,用于遍历所述上位机的全部n个网卡以获取所述n个网卡的IP地址信息,其中,n≥2,n为正整数;
第一广播模块,用于以预设端口和第i个网卡的IP地址为源地址,广播预设格式的IP地址请求指令,所述1≤i≤n-1,i为正整数;
第一判断模块,用于判断在预设时间内是否接收到下位机的响应数据;
第二判断模块,用于若接收到所述下位机的响应数据,则读取所述响应数据并判断是否能正常读取;
IP获取模块,用于若正常读取,则从所述响应数据中获取所述下位机的目标IP地址。
8.如权利要求7所述的装置,其特征在于,所述第一广播模块包括:
创建单元,用于创建广播服务;
广播地址确定单元,用于以所述预设端口和预设组播地址作为广播地址;
发送单元,用于以预设端口和第i个网卡的IP地址为源地址,向所述广播地址发送预设格式的IP地址请求指令。
9.一种上位机,其特征在于,所述上位机包括:
存储器,用于存储IP地址获取程序;
处理器,用于执行所述IP地址获取程序时实现如权利要求1至6任一项所述的IP地址获取方法。
10.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述存储介质中存储有IP地址获取程序,所述IP地址获取程序被处理器执行时实现如权利要求1至6任一项所述的IP地址获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910995220.5A CN110933191B (zh) | 2019-10-18 | 2019-10-18 | Ip地址获取方法、装置、上位机和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910995220.5A CN110933191B (zh) | 2019-10-18 | 2019-10-18 | Ip地址获取方法、装置、上位机和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933191A true CN110933191A (zh) | 2020-03-27 |
CN110933191B CN110933191B (zh) | 2022-05-06 |
Family
ID=69849206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910995220.5A Active CN110933191B (zh) | 2019-10-18 | 2019-10-18 | Ip地址获取方法、装置、上位机和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933191B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711568A (zh) * | 2020-04-17 | 2020-09-25 | 新华三技术有限公司成都分公司 | 一种报文的处理方法和处理装置 |
CN112203252A (zh) * | 2020-09-29 | 2021-01-08 | 深圳市元征科技股份有限公司 | 一种通信连接方法及相关设备 |
CN115514735A (zh) * | 2022-11-22 | 2022-12-23 | 广州市保伦电子有限公司 | 一种服务器真实ip地址的获取方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368725A (zh) * | 2011-09-09 | 2012-03-07 | 北京东方网信科技股份有限公司 | 一种多网卡的数据接收方法及系统 |
CN102970385A (zh) * | 2012-11-14 | 2013-03-13 | 韩伟 | 一种上位机与下位机的自动连接方法 |
CN104994180A (zh) * | 2015-06-05 | 2015-10-21 | 太仓市同维电子有限公司 | 获取设备管理ip地址的方法 |
CN105790902A (zh) * | 2014-12-22 | 2016-07-20 | 研祥智能科技股份有限公司 | 冗余网卡切换的实现方法和系统 |
WO2017140080A1 (zh) * | 2016-02-16 | 2017-08-24 | 乐视控股(北京)有限公司 | 基于媒体访问控制地址的寻址通信方法及装置 |
CN107592209A (zh) * | 2016-07-08 | 2018-01-16 | 北京奇虎科技有限公司 | 一种多网卡服务器自动配置ip地址信息的方法和系统 |
-
2019
- 2019-10-18 CN CN201910995220.5A patent/CN110933191B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368725A (zh) * | 2011-09-09 | 2012-03-07 | 北京东方网信科技股份有限公司 | 一种多网卡的数据接收方法及系统 |
CN102970385A (zh) * | 2012-11-14 | 2013-03-13 | 韩伟 | 一种上位机与下位机的自动连接方法 |
CN105790902A (zh) * | 2014-12-22 | 2016-07-20 | 研祥智能科技股份有限公司 | 冗余网卡切换的实现方法和系统 |
CN104994180A (zh) * | 2015-06-05 | 2015-10-21 | 太仓市同维电子有限公司 | 获取设备管理ip地址的方法 |
WO2017140080A1 (zh) * | 2016-02-16 | 2017-08-24 | 乐视控股(北京)有限公司 | 基于媒体访问控制地址的寻址通信方法及装置 |
CN107592209A (zh) * | 2016-07-08 | 2018-01-16 | 北京奇虎科技有限公司 | 一种多网卡服务器自动配置ip地址信息的方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711568A (zh) * | 2020-04-17 | 2020-09-25 | 新华三技术有限公司成都分公司 | 一种报文的处理方法和处理装置 |
CN112203252A (zh) * | 2020-09-29 | 2021-01-08 | 深圳市元征科技股份有限公司 | 一种通信连接方法及相关设备 |
CN115514735A (zh) * | 2022-11-22 | 2022-12-23 | 广州市保伦电子有限公司 | 一种服务器真实ip地址的获取方法、装置和存储介质 |
CN115514735B (zh) * | 2022-11-22 | 2023-03-14 | 广州市保伦电子有限公司 | 一种服务器真实ip地址的获取方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110933191B (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933191B (zh) | Ip地址获取方法、装置、上位机和存储介质 | |
CN111225020B (zh) | 一种用户态网络文件系统双栈访问方法、装置及设备 | |
CN109657434B (zh) | 应用访问方法及装置 | |
CN111752770A (zh) | 服务请求的处理方法、系统、计算机设备和存储介质 | |
CN111431912B (zh) | 用于检测dhcp劫持的方法和设备 | |
US20170171147A1 (en) | Method and electronic device for implementing domain name system | |
CN114745356B (zh) | 一种域名解析方法、装置、设备及可读存储介质 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN114826969B (zh) | 网络连通性检查方法、装置、设备及存储介质 | |
CN112087401A (zh) | 分布式存储中实现服务质量的方法和装置 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN114697440B (zh) | 网络管理方法及移动终端 | |
CN106685708B (zh) | 一种服务关系的确定方法、装置及系统 | |
CN111177053B (zh) | 一种数据通信方法、装置、系统及计算机可读存储介质 | |
CN115065664B (zh) | 一种互联网协议地址的回收方法、电子设备及存储介质 | |
CN114006955B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN111447296B (zh) | 域名解析方法、装置、计算设备及计算机存储介质 | |
CN107231339B (zh) | 一种DDoS攻击的检测方法以及装置 | |
CN112822179A (zh) | 一种获取ip地址的方法及装置 | |
CN112463300A (zh) | 一种云主机创建方法、装置、设备及可读存储介质 | |
CN108667769B (zh) | 一种域名溯源方法及设备 | |
CN110908807A (zh) | 一种io任务处理方法、装置、设备及可读存储介质 | |
CN110677353A (zh) | 数据访问方法及系统 | |
CN114500452B (zh) | 桥接模式下的虚拟系统ip地址的确定方法、装置和设备 | |
CN114125030B (zh) | 连接跟踪方法、装置、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |