一种支持多种网络接口的套接字组件及方法技术

技术编号:20074845 阅读:20 留言:0更新日期:2019-01-15 00:34
本公开提供一种支持多种网络接口的套接字组件及方法,涉及通信领域和计算机领域。本公开提供的套接字组件应用于电子设备,所述套接字组件包括套接字抽象层模块和网络接口模块;所述网络接口模块包括多种类型的网络接口;所述套接字抽象层模块预先接收有用于识别网络接口的第一参数,所述套接字抽象层模块用于根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并与所述目标网络接口进行匹配。本公开提供的支持多种网络接口的套接字组件及方法通过套接字抽象层模块支持多种类型的网络接口的识别与匹配,解决了对单一的网络接口的依赖,提高应用程序的通用性,降低移植难度。

A Socket Component and Method Supporting Multiple Network Interfaces

The present disclosure provides a socket component and method supporting a variety of network interfaces, involving the fields of communication and computer. The socket components provided in the present disclosure are applied to electronic devices, and the socket components include socket abstraction layer modules and network interface modules; the network interface modules include various types of network interfaces; the socket abstraction layer module receives in advance a first parameter for identifying network interfaces, and the socket abstraction layer module is used to derive from the described parameters according to the first one. The corresponding target network interface is identified in various types of network interfaces and matched with the target network interface. The socket components and methods provided in this disclosure support multiple network interfaces by supporting the identification and matching of various types of network interfaces through the socket abstraction layer module, which solves the dependence on a single network interface, improves the universality of applications and reduces the difficulty of porting.

【技术实现步骤摘要】
一种支持多种网络接口的套接字组件及方法
本公开涉及通信领域和计算机领域,具体而言,涉及一种支持多种网络接口的套接字组件及方法。
技术介绍
随着嵌入式系统在通信
的高速发展,同一应用在面对不同网络接口的情况下,会导致应用层的需要随着不同网络接口的变化而变化,无法支持多种网络接口,更换不同的网络接口,前期的应用程序就需要重新构造,极大降低程序重复使用的效率,给开发者带来极大麻烦。
技术实现思路
有鉴于此,本公开提供一种支持多种网络接口的套接字组件及方法。本公开提供的一种支持多种网络接口的套接字组件,应用于电子设备,所述套接字组件包括套接字抽象层模块和网络接口模块。所述网络接口模块包括多种类型的网络接口。所述套接字抽象层模块预先接收有用于识别网络接口的第一参数,所述套接字抽象层模块用于根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并与所述目标网络接口进行匹配。进一步的,所述多种类型的网络接口包括网络模块类型的网络接口、网络芯片类型的网络接口及网络协议栈类型的网络接口。进一步的,所述套接字组件还包括通用套接字接口模块以及虚拟文件系统模块,所述虚拟文件系统模块用于提供套接字描述符。所述通用套接字接口模块用于在获取所述应用层创建的套接字以及应用层传入的第一参数后,通过函数调用所述套接字抽象层模块,将所述应用层创建的套接字以及应用层传入的第一参数传入至所述套接字抽象层模块。所述套接字抽象层模块用于在接收到所述通用套接字接口模块传入的所述套接字及第一参数后,申请所述虚拟文件系统模块提供的套接字描述符,并对所述套接字描述符分配结构体空间,将所述第一参数设置到所述结构体空间中,以使所述套接字抽象层模块根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并与所述目标网络接口进行匹配。进一步的,所述第一参数包括协议簇参数、套接字类型和指定协议。所述套接字抽象层模块用于根据所述协议簇参数识别所述多种类型的网络接口。所述套接字组件用于根据所述套接字类型确定所述套接字的传输方式。所述应用层用于根据所述指定协议确定网络通信过程中数据传输协议。进一步的,所述套接字抽象层模块包括标准网络协议栈、自定义网络协议、网络接口操作方法以及套接字数据结构。所述标准网络协议栈用于提供通用的网络接口实现方式,以使所述套接字抽象层模块与通用的网络接口实现匹配。所述自定义网络协议用于提供自定义的网络接口实现方式,以满足对不同网络接口实现匹配的需求。所述网络接口操作方法包括网络模块类型的网络接口、网络芯片类型的网络接口及网络协议栈类型的网络接口的操作方法,用于匹配不同网络接口。所述套接字数据结构用于接收并储存识别多种类型的网络接口的第一参数。所述套接字抽象层模块用于根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并通过所述网络接口操作方法与所述目标网络接口进行匹配。本公开提供一种支持多种网络接口的方法,应用于电子设备,所述电子设备包括上述的套接字组件,所述套接字组件包括套接字抽象层模块以及网络接口模块,所述网络接口模块包括多种类型的网络接口,所述方法包括:所述套接字抽象层模块接收用于识别网络接口的第一参数。所述套接字抽象层模块根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口。所述套接字抽象层模块与所述目标网络接口进行匹配。进一步的,所述多种类型的网络接口包括网络模块类型的网络接口、网络芯片类型的网络接口及网络协议栈类型的网络接口。进一步的,所述套接字组件还包括通用套接字接口模块及虚拟文件系统模块,所述套接字抽象层模块接收用于识别网络接口的第一参数的步骤包括:所述通用套接字接口模块获取应用层创建的套接字以及应用层传入的第一参数。所述通用套接字接口模块调用所述套接字抽象层模块,将所述应用层创建的套接字以及应用层传入的第一参数传入至所述套接字抽象层模块。所述套接字抽象层模块申请所述虚拟文件系统模块提供的套接字描述符。所述套接字抽象层模块对所述套接字描述符分配结构体空间。将所述第一参数设置到所述结构体空间中。所述套接字抽象层模块根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口。进一步的,所述第一参数包括协议簇参数、套接字类型和指定协议。所述套接字抽象层模块根据所述协议簇参数识别所述多种类型的网络接口。所述套接字组件根据所述套接字类型确定所述套接字的传输方式。所述应用层根据所述指定协议确定网络通信过程中数据传输协议。进一步的,所述套接字抽象层模块根据所述第一参数从多种类型的网络接口中识别出对应的目标网络接口的步骤包括:所述套接字抽象层模块根据所述目标网络接口的第二参数从第一参数中寻找用于匹配所述目标网络接口的参数。将寻找到用于匹配所述目标网络接口的参数与所述第二参数进行对比。如果所述寻找到用于匹配所述目标网络接口的参数与所述第二参数一致,则将所述套接字抽象层模块与所述目标网络接口进行匹配。在匹配过后,所述套接字抽象层模块获取所述套接字描述符,将所述套接字描述符设置到所述套接字抽象层模块的结构体空间中。设置返回参数,将所述套接字抽象层模块的结构体空间的结构体参数返回至应用层。本公开提供的支持多种网络接口的套接字组件及方法,在套接字抽象层模块预先接收有用于识别网络接口的第一参数,根据第一参数从多种类型的网络接口中识别出对应的目标网络接口,并与目标网络接口进行匹配,该套接字组件及方法支持多种类型的网络接口的识别与匹配,更换不同的网络接口,只需对更换的网络接口再次进行识别,并重新匹配,不用对前期的应用程序重新构造,解决了应用层对单一的网络接口的依赖,提高应用程序的通用性。为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本公开所提供的一种套接字组件的方框示意图。图2为本公开所提供的一种套接字组件的另一种方框示意图。图3为本公开所提供的一种支持网络接口的方法的流程示意图。图4为本公开所提供的一种支持网络接口的方法中套接字抽象层模块接收第一参数的流程示意图。图5为本公开所提供的一种支持网络接口的方法中套接字抽象层模块与目标网络接口识别匹配的流程示意图。图6为本公开所提供的一种支持网络接口的方法中套接字抽象层模块与目标网络接口匹配结束后的流程示意图。图7为本公开所提供的一种接收/发送数据的流程示意图。图标:100-套接字组件;10-套接字接口模块;20-虚拟文件系统模块;30-套接字抽象层模块;31-套接字数据结构;32-标准网络协议栈;33-自定义网络协议;34-网络接口操作方法;40-网络接口模块;41-网络模块类型的网络接口;42-网络芯片类型的网络接口;43-网络协议栈类型的网络接口。具体实施方式下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公本文档来自技高网...

【技术保护点】
1.一种支持多种网络接口的套接字组件,其特征在于,应用于电子设备,所述套接字组件包括套接字抽象层模块和网络接口模块;所述网络接口模块包括多种类型的网络接口;所述套接字抽象层模块预先接收有用于识别网络接口的第一参数,所述套接字抽象层模块用于根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并与所述目标网络接口进行匹配。

【技术特征摘要】
1.一种支持多种网络接口的套接字组件,其特征在于,应用于电子设备,所述套接字组件包括套接字抽象层模块和网络接口模块;所述网络接口模块包括多种类型的网络接口;所述套接字抽象层模块预先接收有用于识别网络接口的第一参数,所述套接字抽象层模块用于根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并与所述目标网络接口进行匹配。2.根据权利要求1所述的套接字组件,其特征在于,所述多种类型的网络接口包括网络模块类型的网络接口、网络芯片类型的网络接口及网络协议栈类型的网络接口。3.根据权利要求1所述的套接字组件,其特征在于,所述套接字组件还包括通用套接字接口模块以及虚拟文件系统模块,所述虚拟文件系统模块用于提供套接字描述符;所述通用套接字接口模块用于在获取应用层创建的套接字以及应用层传入的第一参数后,通过函数调用所述套接字抽象层模块,将所述应用层创建的套接字以及应用层传入的第一参数传入至所述套接字抽象层模块;所述套接字抽象层模块用于在接收到所述通用套接字接口模块传入的所述套接字及第一参数后,申请所述虚拟文件系统模块提供的套接字描述符,并对所述套接字描述符分配结构体空间,将所述第一参数设置到所述结构体空间中,以使所述套接字抽象层模块根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并与所述目标网络接口进行匹配。4.根据权利要求3所述的套接字组件,其特征在于,所述第一参数包括协议簇参数、套接字类型和指定协议;所述套接字抽象层模块用于根据所述协议簇参数识别所述多种类型的网络接口;所述套接字组件用于根据所述套接字类型确定所述套接字的传输方式;所述应用层用于根据所述指定协议确定网络通信过程中数据传输协议。5.根据权利要求1所述的套接字组件,其特征在于,所述套接字抽象层模块包括标准网络协议栈、自定义网络协议、网络接口操作方法以及套接字数据结构;所述标准网络协议栈用于提供通用的网络接口实现方式,以使所述套接字抽象层模块与通用的网络接口实现匹配;所述自定义网络协议用于提供自定义的网络接口实现方式,以满足对不同网络接口实现匹配的需求;所述网络接口操作方法包括网络模块类型的网络接口、网络芯片类型的网络接口及网络协议栈类型的网络接口的操作方法,用于匹配不同网络接口;所述套接字数据结构用于接收并储存识别多种类型的网络接口的第一参数;所述套接字抽象层模块用于根据所述第一参数从所述多种类型的网络接口中识别出对应的目标网络接口,并通过所述网络接...

【专利技术属性】
技术研发人员:熊谱翔朱天龙陈勇
申请(专利权)人:上海睿赛德电子科技有限公司
类型:发明
国别省市:上海,31

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

1