CN111586048B - 一种wifi-hid双向透传方法装置及系统 - Google Patents
一种wifi-hid双向透传方法装置及系统 Download PDFInfo
- Publication number
- CN111586048B CN111586048B CN202010381888.3A CN202010381888A CN111586048B CN 111586048 B CN111586048 B CN 111586048B CN 202010381888 A CN202010381888 A CN 202010381888A CN 111586048 B CN111586048 B CN 111586048B
- Authority
- CN
- China
- Prior art keywords
- transmission
- transmitted
- data
- command
- reading
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种WIFI‑HID双向透传方法、装置及系统,所述方法包括:接收待传输命令,其中,待传输命令中包含传输标识,传输标识用于区分传输类型,传输类型为读取或者写入;获取传输命令中的传输标识;依据传输标识,确定传输命令的传输类型;依据传输类型在目标终端对待传输数据进行读取或者写入操作。上述方法中,待传输命令中包含传输标识,传输标识用于区分传输类型,传输类型为读取或者写入,因此,在目标终端中,针对待传输数据,依据传输类型的不同,既可以进行读取操作也可以进行写入操作,实现了双向传输,解决了WIFI和HID协议速率不匹配的问题,避免了单向传输导致了无法获取传输数据在对应终端的反馈结果的问题。
Description
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种WIFI-HID双向透传方法、装置及系统。
背景技术
随着物联网的发展,安全专家可以通过WIFI来对HID(Human Interface Device)进行远程通信和文件传输等操作,基于WIFI对HID攻击进行控制的设备典型设备包括WHID、USABUSE,WIFIDUCK等设备,其主要结构包括WIFI模块+Arduino模块,将客户端链接到WIFI模块,将接入服务端USB的单片机连接到WIFI模块,实现上传管理并运行脚本。
但是现有的WHID等设备中没有承担通信管理的主控芯片模块,数据传输大多是单向性的,无法获取传输数据在对应终端的反馈结果,例如,客户端将运行脚本写入到服务端时,由于传输的单向性,无法单独依靠WHID将脚本运行结果从服务端读取。
发明内容
有鉴于此,本发明提供了一种WIFI-HID双向透传方法、装置及系统,用以解决现有的基于WHID的传输没有通信管理专控芯片模块,大多是单向性的,无法获取传输数据在对应终端的反馈结果的问题,具体方案如下:
一种WIFI-HID双向透传方法,包括:
接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;
获取所述传输命令中的传输标识;
依据所述传输标识,确定所述传输命令的传输类型;
依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。
上述的方法,可选的,依据所述传输类型在目标终端对待传输数据进行读取或者写入操作,包括:
确定所述目标终端;
获取所述待传输数据的传输速率,将所述传输速率与预设的传输速率阈值进行比较;
若所述传输速率不大于所述预设的传输速率阈值,接收所述待传输数据的各个分片数据;
依据所述传输类型,在所述目标终端所述各个分片数据依据所述传输速率进行读取或者写入操作。
上述的方法,可选的,确定所述目标终端,包括:
获取所述待传输命令中的地址区间;
依据所述地址区间,确定所述目标终端;
上述的方法,可选的,还包括:
判断所述待传输数据的读取或者写入操作是否成功;
若否,记录读取或者写入不成功的次数
当所述次数不大于预设的错误阈值时,重新对所述待传输数据进行读取或者写入操作。
一种WIFI-HID双向透传装置,包括:
接收模块,用于接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;
获取模块,用于获取所述传输命令中的传输标识;
确定模块,用于依据所述传输标识,确定所述传输命令的传输类型;
第一读取或写入模块,用于依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。
上述的装置,可选的,所述第一读取或写入模块包括:
确定单元,用于确定所述目标终端;
获取和比较单元,用于获取所述待传输数据的传输速率,将所述传输速率与预设的传输速率阈值进行比较;
接收单元,用于若所述传输速率小于所述预设的传输速率阈值,接收所述待传输数据的各个分片数据;
读取和写入单元,用于依据所述传输类型,在所述目标终端所述各个分片数据依据所述传输速率进行读取或者写入操作。
上述的装置,可选的,还包括:
判断模块,用于判断所述待传输数据的读取或者写入操作是否成功;
记录模块,用于若否,记录读取或者写入不成功的次数
第二读取或写入模块,用于当所述次数不大于预设的错误阈值时,重新对所述待传输数据进行读取或者写入操作。
一种WIFI-HID双向透传系统,包括:WIFI-HID设备和目标终端,其中,
所述WIFI-HID设备,在接收到所述待传输命令时,获取所述传输命令中的传输标识,依据所述传输标识,确定所述传输命令的传输类型,其中,所述传输类型为读取或者写入,依据所述传输类型对待传输数据进行读取或者写入操作;
所述目标终端,用于发送所述待传输命令,接收依据所述传输类型对待传输数据进行读取或者写入操作的操作结果。
上述的系统,可选的,所述目标终端为服务端或者客户端。
上述的系统,可选的,所述WIFI-HID双向透传设备包括:WIFI模块、 HID模块和处理器,其中,
所述WIFI模块,用于为所述WIFI-HID双向透传设备和终端提供网络以供所述待传输数据进行读取或写入操作;
所述HID模块,用于与所述目标终端进行交互;
所述处理器,用于在接收到所述待传输命令时,获取所述传输命令中的传输标识,依据所述传输标识,确定所述传输命令的传输类型,依据所述传输类型在所述目标终端对所述待传输数据进行读取或者写入操作。
与现有技术相比,本发明包括以下优点:
本发明公开了一种WIFI-HID双向透传方法,包括:接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;获取所述传输命令中的传输标识;依据所述传输标识,确定所述传输命令的传输类型;依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。上述的透传方法中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入,因此,在目标终端中,针对待传输数据,依据传输类型的不同,既可以进行读取操作也可以进行写入操作,实现了双向传输,解决了WIFI和HID 协议速率不匹配的问题,避免了单向传输导致了无法获取传输数据在对应终端的反馈结果的问题。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种WIFI-HID双向透传方法流程图;
图2为本申请实施例公开的一种WIFI-HID双向透传装置结构框图;
图3为本申请实施例公开的一种WIFI-HID双向透传系统结构框图;
图4为本申请实施例公开的一种地址操作流程图;
图5为本申请实施例公开的一种可靠读写执行流程图;
图6为本申请实施例公开的一种文件拷贝流程图;
图7为本申请实施例公开的一种文件上传流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明提供了一种WIFI-HID双向透传方法、装置及系统,应用于基于 WHID在对应终端进行传输过程中,由于现有的基于HID的传输是单向的,无法获取传输数据在对应终端的反馈结果,因此,本发明提供了一种WIFI-HID 双向透传方法,所述透传方法的执行流程如图1所示,包括步骤:
S101、接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;
本发明实施例中,预先在待传输命令中添加传输标识,将传输标识与传输类型建立对应关系,其中,所述传输类型包括读取和写入中的一个。对传输标识的添加形式不进行限定,针对添加传输标识进行举例,例如添加过程如下:
首先,定义写入命令为最大1024字节的数据帧,其中数据结构如表1所示。为7字节的数据头加上最大1017字节的用户数据。写入命令是用于由客户端单方向发往服务端的执行dos命令、截屏命令等不需要返回的命令。
表1写命令数据格式
写命令指示 | 地址范围 | 长度 | 数据 |
W(1字节) | 4字节 | 2字节 | 1-1017字节 |
其次,定义读取命令最大为39字节的数据帧,其中数据结构如表2所示。为7字节的数据头加上最大32字节的用户数据。读取命令包括获取服务端文件路径,文件数据等需要有反馈的命令。发送完读取命令后,需要等待由桥或者服务端回传客户端的命令,回传命令数据帧最大为1024字节,回传数据帧结构为表3所示。不再需要首位的命令指示,直接由地址拼接用户数据而成。
表2读命令数据格式
读命令指示 | 地址范围 | 长度 | 数据 |
R(1字节) | 4字节 | 2字节 | 32字节 |
表3回传命令数据格式
回传命令指示 | 地址范围 | 数据 |
无 | 4字节 | 1020字节 |
S102、获取所述传输命令中的传输标识;
本发明实施例中,在所述传输命令中的指定位置获取所述传输命令中的传输标识,其中,所述指定位置与数据帧格式有关,所述传输标识可以为字母或者数字等,本发明实施例中,对所述传输标识的具体形式不进行限定。
S102、依据所述传输标识,确定所述传输命令的传输类型;
本发明实施例中,由于预先将传输标识和传输类型建立了对应关系,因此,依据所述对应关系,确定与所述传输标识对应的传输类型。如表1所示传输标识R对应的传输类型为写入,如表2所示传输标识W对应的传输类型为读取
S104、依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。
本发明实施例中,所述待传输命令是由对应的终端进行发送的,所述待传输命中包含有具体的贷循环数数据的信息,在确定了传输类型以后,依据所述传输类型在目标终端对所述待传输数据进行读取或者写入操作。
进一步的,依据所述传输类型在目标终端对待传输数据进行读取或者写入操作过程中由于所述目标终端的不同,采用的传输方式不同,可能出现不同的传输速率,获取所述待传输数据传输速将所述传输速率与预设的传输速率阈值进行比较,其中,所述预设的传输速率阈值可以依据经验或者具体的情况进行设定,本发明实施例中,对所述预设的传输速率阈值的具体的取值不进行限定,若所述传输速率不大于所述预设的传输速率阈值,为了保证客户端和服务端的顺利传输,需要在对应的目标终端对所述待传输数据进行切分,得到各个分片数据,接收所述待传输数据的各个分片数据,依据所述传输类型,在所述目标终端所述各个分片数据依据所述传输速率进行读取或者写入操作。
本发明公开了一种WIFI-HID双向透传方法,包括:接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;获取所述传输命令中的传输标识;依据所述传输标识,确定所述传输命令的传输类型;依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。上述的透传方法中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入,因此,在目标终端中,针对待传输数据,依据传输类型的不同,既可以进行读取操作也可以进行写入操作,实现了双向传输,解决了WIFI和HID 协议速率不匹配的问题,避免了单向传输导致了无法获取传输数据在对应终端的反馈结果的问题。
进一步的,在接收到所述待传输命令中,在指定位置获取所述传输命令中的地址区间,其中,所述地址区间可以用于区分不同的终端类型,例如,针对不同设备,可通过相应地址对服务端或者桥进行访问,如表4所示,其中以0xE…或者0xF…开头的均为针对服务端的操作,以0xFFF…开头的地址均为针对双向透传网桥的操作。
表4地址映射表
进一步的,为了实现可靠读写,对待传输数据的读取或者写入操作的准确性进行验证,当传输错误的次数小于预设的错误阈值时,重新对所述待传输数据进行读取或者写入操作。
基于上述的一种WIFI-HID双向透传方法,本发明实施例中还提供了一种 WIFI-HID双向透传装置,预先在待传输命令中添加传输标识,所述传输装置的结构框图如图2所示,包括:
接收模块201、获取模块202、确定模块203和读取或写入模块204。
其中,
所述接收模块201,用于接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;
所述获取模块202,用于获取所述传输命令中的传输标识;
所述确定模块203,用于依据所述传输标识,确定所述传输命令的传输类型;
所述第一读取或写入模块204,用于依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。
本发明公开了一种WIFI-HID双向透传装置,包括:接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入;获取所述传输命令中的传输标识;依据所述传输标识,确定所述传输命令的传输类型;依据所述传输类型在目标终端对待传输数据进行读取或者写入操作。上述的透传装置中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入,因此,在目标终端中,针对待传输数据,依据传输类型的不同,既可以进行读取操作也可以进行写入操作,实现了双向传输,解决了WIFI和HID 协议速率不匹配的问题,避免了单向传输导致了无法获取传输数据在对应终端的反馈结果的问题。
本发明实施例中,所述读取或写入模块203包括:
确定单元205、获取和比较单元206、分接收单元207和读取和写入单元 208。
其中,
所述确定单元205,用于确定所述目标终端;
所述获取和比较单元206,用于获取所述待传输数据的传输速率,将所述传输速率与预设的传输速率阈值进行比较;
所述接收单元207,用于若所述传输速率小于所述预设的传输速率阈值,接收所述待传输数据的各个分片数据;
所述读取和写入单元208,用于依据所述传输类型,在所述目标终端所述各个分片数据依据所述传输速率进行读取或者写入操作。
本发明实施例中,所述传输装置还包括:判断模块209、记录模块210和第二读取或写入模块211。
其中,
所述判断模块209,用于判断所述待传输数据的读取或者写入操作是否成功;
所述记录模块210,用于若否,记录读取或者写入不成功的次数
所述第二读取或写入模块211,用于当所述次数不大于预设的错误阈值时,重新对所述待传输数据进行读取或者写入操作。
WIFI-HID双向透传方法,本发明实施例中还提供了一种WIFI-HID双向透传系统,包括,WIFI-HID设备和目标终端,其中,所述目标终端为服务端或者客户端,其中,
所述WIFI-HID设备,在接收到所述待传输命令时,获取所述传输命令中的传输标识,依据所述传输标识,确定所述传输命令的传输类型,其中,所述传输类型为读取或者写入,依据所述传输类型对待传输数据进行读取或者写入操作;
所述目标终端,用于发送所述待传输命令,接收依据所述传输类型对待传输数据进行读取或者写入操作的操作结果。
本发明实施例中,所述WIFI-HID双向透传设备包括:
WIFI模块、HID模块和处理器,其中,
所述WIFI模块,用于为所述WIFI-HID双向透传设备和终端提供网络以供所述待传输数据进行读取或写入操作;
所述HID模块,用于与所述目标终端进行交互;
所述处理器,用于在接收到所述待传输命令时,获取所述传输命令中的传输标识,依据所述传输标识,确定所述传输命令的传输类型,依据所述传输类型在所述目标终端对所述待传输数据进行读取或者写入操作。本发明实施例中基于上述的传输系统进行举例说明,其示意图如图3所示,其中,硬件主要是由ESP8266WIFI模块、STM32F7处理器、PC组成。其中客户端设备与ESP8266之间通过WIFI连接,实现UDP协议基础上的连接;ESP8266 与STM32F7通过串口连接在一起,实现SPI基础上的连接;STM32F7的USB FS接口与PC之间通过USB线连接。其中目标计算为服务端,优选的,首先初始化SPI对从WIFI模块接受的数据的分析,由于是UDP通信,前64位也就是16字节分别为源端端口等头部信息,所以用户数据从17字节开始,将服务端的mac地址告诉客户端。初始化WIFI模块为Ap模式。设置IP分配分别为(禁用DHCP,IP192.168.2.1,子网掩码255,255.255.255,网关为 192.168.2,1),设置WIFI名字、密钥格式和密码。
S1:STM32上的驱动初始化
首先初始化STM32的Hal库,配置GPIO时钟,初始化USB为HID类设备,使PC设备管理器将USB识别为Keyboard设备。
其次对SPI做初始化,其中以本端作为master,设置每一次发送接受都为 8bit为一个单位,设置波特率预分频为4分频;用GSPI初始化WIFI模块的 reset模块。
S2:STM32上ESP8266基本函数初始化。
首先设置ESP8266建立WIFI的基础函数,包括设置网络类型、SSID、密码、加密方式、IP类型、复位等函数,同时设备加入/创建网络模式分别为 STA和AP。
其次设置ESP8266建立Socket相关基础函数,包括建立创建UDP的 Socket信息,关闭socket连接,获取当前收到数据长度,组成UDP数据头,发送UDP数据包。
最后设置将地址数据组帧。组帧的实现过程如下:
从指定地址开始写入指定长度的数据
//WriteAddr:起始地址(此地址必须为2的倍数!)
//pBuffer:数据指针
//NumToWrite:半字(16位)数(就是要写入的16位数据的个数.)
具体实现代码:
S3:定义服务端与桥的地址映射,具体的定义过程如表4所示,此处不再赘述。
S4:定义通信协议中的数据帧格式,定义的过程如表1、表2和表3所示,此处不再赘述。
S5:匹配UDP协议传输速度与SPI协议传输速率
利用SPI中断,设置桥通过USB给服务端发送命令,在服务端将1024 字节的数据分片,分成60字节一片发送给桥。100ms内连续收到16片数据后,桥会将数据重新组装起来,校验地址后将60字节用户数据/片乘16片+4 字节地址范围/片乘16片=1024字节的数据组装成包,通过UDP发送给客户端。
由客户端发往服务端的数据则是在桥中分片,然后发送给服务端后由服务端重新组装。
S6:根据S3-S4构造并执行写入/读取命令数据头功能
其整体结构如图4所示。在接收到一条命令后,首先根据S4中的表格判断收到的是读取命令还是写命令,如果是r则为读取,如果是W则为写入命令。
其次获取2到5字节,判断32位地址(4字节)位开头。如果是读取命令,则判断地址范围,如果是0xFFF00000则为对桥操作的获取WIFI状态,仅为测试用,需要回传客户端一条1024的数据,内容固定是 0xFFF00000012345678......;如果是地址范围在0xE0000000-OxEFFFFFFF之间,则需要通过USB读取服务器数据,进行从服务端到客户端的文件拷贝。
如果是写命令,则同样地址范围。如果以0xFFF开头,则都为对桥的基本操作;如果是0xe0开头,则为在服务端上写入相应的文件数据(从客户端往服务器上传数据);如果是0xF0开头,则为在服务端上写入相应的路径名 (在服务端上打开相应的文件作为拷贝的准备)。其余的0xF1、F2、F8、F9、 FF、AA。分表对应表1中相应功能。
S7:针对命令进行可靠读写
根据图5所示,首先准备读取/写入命令。由桥判断是读取命令还是写命令。若判断为写命令,因为写命令本身是无反馈的,在写入命令由客户端发送给服务端后需要为其添加相应的读取数据命令进行反馈确认。若判断为读取命令,则可直接进行读取数据命令操作。
其次,在读取/写入命令都进行到读取数据操作后,客户端会暂停等待服务端的反馈,通过服务器回传数据判断是否读/写对,如若出现错误,则在不超过3次的前提下重复进行一开始读取/写入命令的发送。
最后,只有在客户端确认服务端的反馈正确后,才判断为一次完整的可靠读写过程。
S8:从服务端获得文件目录,客户端针对特定文件进行拷贝
根据图6结构进行文件传输。首先进行可靠路径写入,此处的路径写入命令为S7中的可靠命令写入。本案例中为打开C盘的根目录。则根据之前步骤,整个写入命令数据包应为:写入命令R(0x77),地址位根据表1中的打开目录应为0xF0000000,长度为0,数据.dir“c:\”。根据S7,由于是可靠写入,需要再由客户端发送一个读命令来获取服务端的反馈。若可靠写入失败,则为打开路径失败,结束文件拷贝。
其次,由服务端返回相应路径目录。
再次,根据目录信息,针对特定文件进行可靠写入打开文件命令,同理同时需再由客户端发送一个读取命令来获取反馈,若反馈失败,则为打开文件失败,结束文件拷贝。
再次,打开文件成功后,服务端和客户端都可将根据文件长度生成位图,在服务端中即在S5中所提及的分片,每分出1024字节的数据,将位图的由高到低将信号置为1。本案例中位图有32字节,每个字节有8位,即每个字节初始为00000000,从最高位开始,服务端文件每分出1024字节数据,则将0变为1,则每字节位图最大可以表示8个1024分片,整个位图可以最大可以表示8乘32个1024字节数据分片,即最大为256m数据传输。
再次,由位图生成读取命令发送。根据之前步骤,地址范围应从 0xE000000-0xEFFFFFFF,其地址范围可与位图对应,据位图生成相应地址;同时文件长度也可根据位图生成。
再次,客户端因为也可以根据文件长度生成位图,从而生成相应的地址范围和应分的包数。在客户端发送数据后开始进行接受一包数据,同时根据地址判断是否接受成功。如果没接受成功则会在不超过等待时间的情况下,持续对数据进行接受。如果超过等待时间还没有受到,可以人为点击使服务器重新发送数据。
再次在接受一包数据成功后,客户端会根据地址判断是否为为最后一包,如果不为最后一包则持续接收。
最后,在接受完最后一包数据后,由客户端整合分片的数据,并结束数据传输。
S9:客户端文件上传服务器
根据图7结构进行文件上传。基本原理如同S8的文件拷贝。首先读取本地数据,并在客户端根据本地文件数据生成相应位图,同理根据位图可生成相的应写入数据命令,发送给客户端。
其次根据S7,可靠写入需要再发送一个读取命令来获得服务器反馈。反馈失败则客户端会在不超过等待时间的情况下,持续等待应答。如果超过等待时间还没有得到成功应答,可以人为点击使客户端重新发送写入数据命令。
再次,应答成功后判断文件是否结束,如若未结束,则持续由客户端发送一包为单位的数据到服务端。
最后,文件结束,将由客户端发送写入保存命令,并结束文件上传。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种WIFI-HID双向透传方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种WIFI-HID双向透传方法,其特征在于,包括:
接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入,所述传输标识与所述传输类型具有对应关系;
在所述待传输命令中的指定位置获取所述待传输命令中的传输标识;所述指定位置与数据帧格式有关;所述传输标识为字母或数字;
依据所述传输标识,确定所述待传输命令的传输类型;
依据所述传输类型在目标终端对待传输数据进行读取或者写入操作,包括:
获取所述待传输命令中的地址区间,所述地址区间用于区分不同的终端类型,所述终端类型至少包括:服务端或双向透传网桥;
依据所述地址区间,确定目标终端;
获取所述待传输数据的传输速率,将所述传输速率与预设的传输速率阈值进行比较;
若所述传输速率不大于所述预设的传输速率阈值,接收所述待传输数据的各个分片数据;
依据所述传输类型,将所述目标终端的各个所述分片数据依据所述传输速率进行读取或者写入操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
判断所述待传输数据的读取或者写入操作是否成功;
若否,记录读取或者写入不成功的次数;
当所述次数不大于预设的错误阈值时,重新对所述待传输数据进行读取或者写入操作。
3.一种WIFI-HID双向透传装置,其特征在于,包括:
接收模块,用于接收待传输命令,其中,所述待传输命令中包含传输标识,所述传输标识用于区分传输类型,所述传输类型为读取或者写入,所述传输标识与所述传输类型具有对应关系;
获取模块,用于在所述待传输命令中的指定位置获取所述待传输命令中的传输标识;所述指定位置与数据帧格式有关;所述传输标识为字母或数字;
确定模块,用于依据所述传输标识,确定所述待传输命令的传输类型;
第一读取或写入模块,用于依据所述传输类型在目标终端对待传输数据进行读取或者写入操作;
所述第一读取或写入模块包括:
确定单元,用于获取所述待传输命令中的地址区间,所述地址区间用于区分不同的终端类型,所述终端类型至少包括:服务端或双向透传网桥;依据所述地址区间,确定目标终端;
获取和比较单元,用于获取所述待传输数据的传输速率,将所述传输速率与预设的传输速率阈值进行比较;
接收单元,用于若所述传输速率小于所述预设的传输速率阈值,接收所述待传输数据的各个分片数据;
读取和写入单元,用于依据所述传输类型,将所述目标终端的各个所述分片数据依据所述传输速率进行读取或者写入操作。
4.根据权利要求3所述的装置,其特征在于,还包括:
判断模块,用于判断所述待传输数据的读取或者写入操作是否成功;
记录模块,用于若否,记录读取或者写入不成功的次数;
第二读取或写入模块,用于当所述次数不大于预设的错误阈值时,重新对所述待传输数据进行读取或者写入操作。
5.一种WIFI-HID双向透传系统,其特征在于,包括:WIFI-HID设备和目标终端,其中,
所述WIFI-HID设备,在接收到待传输命令时,在所述待传输命令中的指定位置获取所述待传输命令中的传输标识,依据所述传输标识,确定所述待传输命令的传输类型,其中,所述传输类型为读取或者写入,所述传输标识与所述传输类型具有对应关系,所述指定位置与数据帧格式有关,所述传输标识为字母或数字,依据所述传输类型对待传输数据进行读取或者写入操作;
依据所述传输类型在目标终端对待传输数据进行读取或者写入操作,包括:获取所述待传输命令中的地址区间,所述地址区间用于区分不同的终端类型,所述终端类型至少包括:服务端或双向透传网桥;依据所述地址区间,确定目标终端;获取所述待传输数据的传输速率,将所述传输速率与预设的传输速率阈值进行比较;若所述传输速率不大于所述预设的传输速率阈值,接收所述待传输数据的各个分片数据;依据所述传输类型,将所述目标终端的各个所述分片数据依据所述传输速率进行读取或者写入操作;
所述目标终端,用于发送所述待传输命令,接收依据所述传输类型对待传输数据进行读取或者写入操作的操作结果。
6.根据权利要求5所述的系统,其特征在于,所述目标终端为服务端或者客户端。
7.根据权利要求5所述的系统,其特征在于,所述WIFI-HID双向透传设备包括:WIFI模块、HID模块和处理器,其中,
所述WIFI模块,用于为所述WIFI-HID双向透传设备和终端提供网络以供所述待传输数据进行读取或写入操作;
所述HID模块,用于与所述目标终端进行交互;
所述处理器,用于在接收到所述待传输命令时,获取所述待传输命令中的传输标识,依据所述传输标识,确定所述待传输命令的传输类型,依据所述传输类型在所述目标终端对所述待传输数据进行读取或者写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010381888.3A CN111586048B (zh) | 2020-05-08 | 2020-05-08 | 一种wifi-hid双向透传方法装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010381888.3A CN111586048B (zh) | 2020-05-08 | 2020-05-08 | 一种wifi-hid双向透传方法装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111586048A CN111586048A (zh) | 2020-08-25 |
CN111586048B true CN111586048B (zh) | 2022-10-14 |
Family
ID=72112114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010381888.3A Active CN111586048B (zh) | 2020-05-08 | 2020-05-08 | 一种wifi-hid双向透传方法装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111586048B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002032A (zh) * | 2012-12-03 | 2013-03-27 | 北京奇虎科技有限公司 | 数据双向传输方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10318013B1 (en) * | 2015-04-01 | 2019-06-11 | Bansen Labs LLC | System and method for converting input from alternate input devices |
CN106302261B (zh) * | 2016-08-02 | 2019-09-17 | 青岛海信电器股份有限公司 | 一种控制命令转发的方法和装置 |
CN111083161A (zh) * | 2019-12-27 | 2020-04-28 | 中消云(北京)物联网科技研究院有限公司 | 数据传输的处理方法及装置、物联网设备 |
-
2020
- 2020-05-08 CN CN202010381888.3A patent/CN111586048B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002032A (zh) * | 2012-12-03 | 2013-03-27 | 北京奇虎科技有限公司 | 数据双向传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111586048A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1564959B1 (en) | System and method for trivial file transfer protocol including broadcasting function | |
US8009672B2 (en) | Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections | |
CN101682635B (zh) | 复用式数据流协议 | |
CN1870642B (zh) | 用于通过使用数据通信协议在网络计算环境内通信的方法 | |
TWI735429B (zh) | 用戶端登錄伺服器端的鑑別方法、裝置、系統及電子設備 | |
US20040253969A1 (en) | Technique for discovery using a wireless network | |
CN101682634B (zh) | 用于基于事务的通信的文件协议 | |
EP1739888A2 (en) | Wireless response system for a classroom | |
JP2008521076A (ja) | クライアント識別情報をサーバに提供するための装置および方法 | |
US7702759B2 (en) | Presentation during network address acquisition | |
US20050086332A1 (en) | Network device management method, network device management program, and network control apparatus | |
US6819681B1 (en) | Systems and methods for predicting data fields in layered protocols | |
WO2022227818A1 (zh) | 用于配网的方法、装置和智能家居设备 | |
CN112671771B (zh) | 数据传输方法、装置、电子设备及介质 | |
US5907676A (en) | Information processing system, communication method, and recording medium | |
US7571374B2 (en) | Method for transmitting and processing command and data | |
US7283527B2 (en) | Apparatus and method of maintaining two-byte IP identification fields in IP headers | |
JP6665190B2 (ja) | ネットワーク共有実施方法及び装置 | |
CN111586048B (zh) | 一种wifi-hid双向透传方法装置及系统 | |
US6961777B1 (en) | Systems and methods for predicting fields in a data packet | |
US7844056B1 (en) | Method and apparatus for encapsulating long messages over limited fibre channel extended link service | |
Cisco | Host Communications | |
CN110120987B (zh) | 一种WiFi连接方法及装置 | |
JP2000134602A (ja) | 画像送信装置及び画像受信装置及び画像伝送システム及びその制御方法及び記憶媒体 | |
EP1206862A1 (en) | Systems and methods for predicting fields in a data packet |
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 |