一种基于WebSocket的获取客户端硬件信息的方法技术

技术编号:14314084 阅读:206 留言:0更新日期:2016-12-30 16:05
本发明专利技术提供了一种基于WebSocket的获取客户端硬件信息的方法,所述方法包括:步骤1)对通用WebSocket对象扩展自定义JavaScript接口函数;步骤2)客户端创建WebSocket对象,并建立与服务器的连接,调用所述步骤1)的扩展自定义JavaScript接口函数;步骤3)Web引擎内核根据WebSocket对象调用的接口函数获取相应设备硬件信息,返回给客户端;步骤4)客户端将返回的设备硬件信息包含在数据报文中发送到服务器;步骤5)所述服务器对数据报文进行处理,并根据设备硬件信息将处理结果返回到客户端;步骤6)客户端根据返回的处理结果继续对服务器发送数据报文,直至通信完毕;步骤7)通信完毕后,关闭WebSocket连接。

【技术实现步骤摘要】

本专利技术属于网络通信领域,具体涉及一种基于WebSocket获取客户端硬件信息的方法。
技术介绍
HTML5技术的日臻成熟和HTML5规范的最终定型,作为一项新兴的技术和具备支持跨平台特性,HTML5越来越受到开发者的欢迎。WebSocket作为HTML5关键技术之一,其支持全双工通信和节省网络带宽的优势,也是开发者们在进行Web应用通信甚至跨平台通信开发时优先选择的通信方式。在标准WebSocket协议中,WebSocket对象具有的属性和方法比较有限,如:属性值URL、方法send和close等。在开发Web应用过程中,有时候对发送的数据报文需要包含的信息有更多的要求,如:报文中需要包含发起WebSocket请求的客户端相关信息。但是,目前缺乏一种基于WebSocket的通过调用扩展的JavaScript接口获取客户端硬件信息的方法。此外,由于发送数据报文需要获取而非修改客户端信息,有的客户端信息是受到保护且不可修改的,所以对JavaScript获取相关信息具有一定的安全性要求。
技术实现思路
本专利技术的目的在于克服目前WebSocket对象中没有包含获取客户端硬件信息的属性的缺陷,提出了一种基于WebSocket获取客户端硬件信息的方法,该方法通过调用扩展的JavaScript接口实现WebSocket对象获取客户端硬件信息,而且该方法的安全性高,确保客户的硬件信息不能被修改。为了实现上述目的,本专利技术提供了一种基于WebSocket的获取客户端硬件信息的方法,所述方法包括:步骤1)对通用WebSocket对象扩展自定义JavaScript接口函数;步骤2)客户端创建WebSocket对象,并建立与服务器的连接,调用所述步骤1)的扩展自定义JavaScript接口函数;步骤3)Web引擎内核根据WebSocket对象调用的接口函数获取相应设备硬件信息,返回给客户端;步骤4)客户端将返回的设备硬件信息包含在数据报文中发送到服务器;步骤5)所述服务器对数据报文进行处理,并根据设备硬件信息将处理结果返回到客户端;步骤6)客户端根据返回的处理结果继续对服务器发送数据报文,直至通信完毕;步骤7)通信完毕后,关闭WebSocket连接。上述技术方案中,所述步骤1)具体包括:步骤1-1)在浏览器内核中,对通用WebSocket对象添加JavaScript接口属性值或方法;步骤1-2)定义步骤1-1)扩展的JavaScript接口属性值或方法在浏览器内核的函数映射关系,映射到浏览器内部自定义函数;步骤1-3)在步骤1-2)的内部自定义函数中,调用WebSocket协议实现的扩展自定义的获取设备硬件信息的函数;步骤1-4)在WebSocket协议实现内部,添加自定义的获取设备硬件信息函数;所述自定义的获取设备硬件信息函数为WebSocket对象的自定义属性值或方法,调用后返回特定值作为用户所请求的客户端设备硬件信息;所述设备硬件信息为MAC地址、IP地址或设备ID。上述技术方案中,所述步骤2)的扩展自定义JavaScript接口函数为步骤1-4)的自定义的获取设备硬件信息函数。本专利技术的优势在于:1、本专利技术的方法通过在浏览器内核扩展基于WebSocket协议的JavaScript接口,调用接口可获得客户端硬件信息,如MAC地址、IP地址、设备ID等,并作为数据报文的一部分发送到服务器;该方法适用于服务器要求获取客户端信息作为标识的情况,特别是在多客户端多平台联动操作的情况下有较高的实用价值;2、本专利技术的方法基于WebSocket实现,而WebSocket是HTML5协议的重要组成部分,其具备HTML5的跨平台特性,在跨平台通信方面有较大的优势;3、本专利技术的方法将获取客户端信息的方法封装于WebSocket协议中,通过WebSocket对象调用的方式获取只读的属性值或函数返回值,用户只能获取而不能修改客户端信息,能够较大的保证客户端信息的安全性。附图说明图1是本专利技术的基于WebSocket获取客户端硬件信息的方法的示意图;图2是本专利技术的自客户端JavaScript到浏览器内核WebSocket协议的函数调用过程图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细地说明。如图1所示,一种基于WebSocket的获取客户端硬件信息的方法,所述方法具体包括:步骤1)对通用WebSocket对象扩展自定义JavaScript接口;所述通用WebSocket对象为客户端创建的所有WebSocket对象;如图2所示,所述步骤1)具体包括:步骤1-1)在浏览器内核中,对通用WebSocket对象添加JavaScript接口属性值或方法;步骤1-2)定义步骤1-1)扩展的JavaScript接口属性值或方法在浏览器内核的函数映射关系,映射到浏览器内部自定义函数;步骤1-3)在步骤1-2)的内部自定义函数中,调用WebSocket协议实现的扩展自定义的获取设备硬件信息的函数;步骤1-4)在WebSocket协议实现内部,添加自定义的获取设备硬件信息函数;所述自定义的获取设备硬件信息函数为WebSocket对象的自定义属性值或方法,调用后返回特定值作为用户所请求的客户端设备硬件信息。所述设备硬件信息为MAC地址、IP地址或设备ID。步骤2)客户端创建WebSocket对象,并建立与服务器的连接,调用所述步骤1)的扩展JavaScript接口函数;所述扩展自定义JavaScript接口函数为所述步骤1-4)的自定义的获取设备硬件信息函数。步骤3)Web引擎内核根据WebSocket对象调用的接口函数获取相应设备硬件信息,返回给客户端;步骤4)客户端将返回的设备硬件信息包含在数据报文中发送到服务器;步骤5)所述服务器对数据报文进行处理,并根据设备硬件信息将处理结果返回到客户端;步骤6)客户端根据返回的处理结果继续对服务器发送数据报文,直至通信完毕;步骤7)通信完毕后,关闭WebSocket连接。下面以获取客户端的MAC地址的为例,步骤1)的具体实现过程为:假设服务器对上报报文格式要求为:{\operator\:\sample\,\value\:\sample\,\clientMac\:\clientMacAddr\本文档来自技高网...
一种基于WebSocket的获取客户端硬件信息的方法

【技术保护点】
一种基于WebSocket的获取客户端硬件信息的方法,所述方法包括:步骤1)对通用WebSocket对象扩展自定义JavaScript接口函数;步骤2)客户端创建WebSocket对象,并建立与服务器的连接,调用所述步骤1)的扩展自定义JavaScript接口函数;步骤3)Web引擎内核根据WebSocket对象调用的接口函数获取相应设备硬件信息,返回给客户端;步骤4)客户端将返回的设备硬件信息包含在数据报文中发送到服务器;步骤5)所述服务器对数据报文进行处理,并根据设备硬件信息将处理结果返回到客户端;步骤6)客户端根据返回的处理结果继续对服务器发送数据报文,直至通信完毕;步骤7)通信完毕后,关闭WebSocket连接。

【技术特征摘要】
1.一种基于WebSocket的获取客户端硬件信息的方法,所述方法包括:步骤1)对通用WebSocket对象扩展自定义JavaScript接口函数;步骤2)客户端创建WebSocket对象,并建立与服务器的连接,调用所述步骤1)的扩展自定义JavaScript接口函数;步骤3)Web引擎内核根据WebSocket对象调用的接口函数获取相应设备硬件信息,返回给客户端;步骤4)客户端将返回的设备硬件信息包含在数据报文中发送到服务器;步骤5)所述服务器对数据报文进行处理,并根据设备硬件信息将处理结果返回到客户端;步骤6)客户端根据返回的处理结果继续对服务器发送数据报文,直至通信完毕;步骤7)通信完毕后,关闭WebSocket连接。2.根据权利要求1所述的基于WebSocket的获取客户端硬件信息的方法,其特征在于,所述步骤1)具体包括:步骤1-1)在浏览器...

【专利技术属性】
技术研发人员:胡琳琳肖伟民郭志川
申请(专利权)人:中国科学院声学研究所上海尚恩华科网络科技股份有限公司
类型:发明
国别省市:北京;11

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

1