CN115174552B - 基于web操作系统的局域网通信和文件传输方法及系统 - Google Patents
基于web操作系统的局域网通信和文件传输方法及系统 Download PDFInfo
- Publication number
- CN115174552B CN115174552B CN202210606925.5A CN202210606925A CN115174552B CN 115174552 B CN115174552 B CN 115174552B CN 202210606925 A CN202210606925 A CN 202210606925A CN 115174552 B CN115174552 B CN 115174552B
- Authority
- CN
- China
- Prior art keywords
- communication
- navigator
- protocol
- ipmsg
- network
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 109
- 238000004891 communication Methods 0.000 title claims abstract description 92
- 230000005540 biological transmission Effects 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000003993 interaction Effects 0.000 claims abstract description 27
- 238000005516 engineering process Methods 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims description 26
- 238000005538 encapsulation Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 6
- 238000012806 monitoring device Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- PFFIDZXUXFLSSR-UHFFFAOYSA-N 1-methyl-N-[2-(4-methylpentan-2-yl)-3-thienyl]-3-(trifluoromethyl)pyrazole-4-carboxamide Chemical group S1C=CC(NC(=O)C=2C(=NN(C)C=2)C(F)(F)F)=C1C(C)CC(C)C PFFIDZXUXFLSSR-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于WEB操作系统的局域网通信和文件传输方法及系统,包括:步骤S1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;步骤S2:应用层调用框架层提供的JavaScript接口封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息。
Description
技术领域
本发明涉及网络通信技术领域,具体地,涉及基于WEB操作系统的局域网通信和文件传输方法。
背景技术
1996年IP Messenger软件发布后,被很多志愿者开发出多种平台(Windows、Linux、Mac、Android、iOS)的多个版本,并被人广泛使用在局域网中,用来实现即时通信和文件(夹)分享。例如Windows平台的飞秋(windows平台最受欢迎),Linux平台的IPTUX(使用最广)。目前的现有版本基本上都是基于C/C++语言、Java语言、Qt语言和Objective-C语言开发的。通过网上搜索查证,目前基于Web操作系统的可以兼容IPMSG协议的类似软件还没有人开发出来,因为大部分浏览器引擎都无法支持Web前端直接调用TCP或UDP的Socket接口。
鉴于以上背景,结合项目开发的基于Web技术实现的操作系统,实现与Windows、Linux等其他平台的兼容IPMSG协议的软件进行通信和文件(夹)分享传输。为解决以上问题,我们开发实现了一种基于WEB操作系统的局域网通信和文件传输方法。通过本方法可以让基于HTML5+JavaScript+CSS开发的软件程序,运行于Web操作系统平台,利用TCP和UDP协议进行数据跨平台通信,可兼容IPMSG、IPTUX和飞秋,局域网内实现信息交互和文件(夹)分享传输功能。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于WEB操作系统的局域网通信和文件传输方法及系统。
根据本发明提供的一种基于WEB操作系统的局域网通信和文件传输方法,包括:
步骤S1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;
步骤S2:应用层调用框架层提供的JavaScript接口实现包括封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息。
优选地,所述步骤S2采用:应用层调用框架层提供的JavaScript接口调用框架层的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象,实现包括UI交互、IPMSG协议编解码、网络状态监控、消息数据存储、UDP通信处理、TCP通信处理、文件传输处理以及消息通信处理。
优选地,所述网络状态监控通过调用navigator.mozWifiManager和navigator.mozEthernetManager对象监控设备网络状态连接和获取网卡MAC和IP信息。
优选地,所述网络状态监控采用:调用navigator.mozWifiManager对象进行WIFI网络可用性判断,当WIFI网络可用时则调用navigator.mozWifiManager对象的属性接口获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线;当WIFI网络不可用,则调用navigator.mozEthernetManager接口获取Ethernet网络设置,获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线。
优选地,所述UDP通信处理通过调用框架层的UDPSocket对象实现设备间的UDP协议通信,监听收发端口为IPMSG协议的通信端口号。
优选地,所述TCP通信处理通过调用navigator.mozTCPSocket对象绑定监听端口IPMSG协议的通信端口号,实现TCP协议通信,作为TCPSocket的服务端,处理文件收发相关的客户端TCPSocket数据请求。
优选地,所述文件传输处理用于解析文件传输分享的数据处理和传输进度信息,调用navigator.getDeviceStorage对象进行收发文件的读取和保存。
优选地,所述IPMSG协议编解码用于解析构造IPMSG协议的各种指令消息数据,而且通过消息数据内容版本前缀识别不同平台的客户端程序类型;
所述消息通信处理通过UDP协议传输的各种消息,经由IPMSG协议编解码解析消息类型并作出对应的处理逻辑;
所述消息数据存储用于通信消息的保存和获取,并采用IndexedDB数据库存储;
所述UI交互界面使用HTML5+CSS+JavaScript实现,是软件的用户交互界面,用于显示局域网内在线的主机列表信息、聊天列表记录、对方主机信息、文件遍历选取、文件发送和接收信息。
根据本发明提供的一种基于WEB操作系统的局域网通信和文件传输系统,包括:
模块M1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;
模块M2:应用层调用框架层提供的JavaScript接口实现包括封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息。
优选地,所述模块M2采用:应用层调用框架层提供的JavaScript接口调用框架层的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象,实现包括UI交互、IPMSG协议编解码、网络状态监控、消息数据存储、UDP通信处理、TCP通信处理、文件传输处理以及消息通信处理。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过WebIDL(接口定义语言),实现C/C++与JavaScript对象的绑定,从而让C/C++与JavaScript可以进行跨语言的交互。基于此技术我们通过封装集成的UDPScoket/TCPSocket和navigator.mozTCPSocket的JavaScript接口,实现了Web端通过该JavaScript接口可以进行UDP和TCP的数据通讯(底层依旧调用系统C/C++接口实现);通过封装集成navigator.mozWifiManager和navigator.mozEthernetManager的JavaScript接口,实现了Web端通过该接口可以获取本机WiFi、有线网网络的连接状态信息、网卡信息和分配的IP信息等;通过封装集成navigator.getDeviceStorage的JavaScript接口,实现了Web端通过该接口可以对本机的文件资源进行遍历、读取、编辑和删除取操作;
2、本发明可以实现基于Web操作系统的应用直接调用系统Socket接口基于TCP(UDP)/IP协议通信和存取本地文件资源,支持开发出可以兼容IPMSG协议通信的局域网即时通信和文件传输分享软件,同时支持与其他平台不同语言实现的兼容IPMSG协议的软件之间的通信。为IPMSG协议的推广又增加了一种平台的应用支持实现。为不同平台操作系统之间通过局域网进行即时通信和文件(夹)传输分享提供了极大的便利和新方案。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为Web操作系统架构图。
图2为应用功能模块和框架接口组成图。
图3为网络监控模块流程图。
图4为UDP通信模块流程图。
图5为TCP通信模块进行文件传输的流程图。
图6为IPMSG编解码模块流程图。
图7为文件传输模块流程图。
图8为消息通信处理流程图。
图9为消息存储模块流程图。
图10为软件各模块关系图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种基于WEB操作系统的局域网通信和文件传输方法,包括:
步骤S1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;
步骤S2:应用层调用框架层提供的JavaScript接口实现包括封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息。
具体地,所述步骤S2采用:应用层调用框架层提供的JavaScript接口调用框架层的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象,实现包括UI交互、IPMSG协议编解码、网络状态监控、消息数据存储、UDP通信处理、TCP通信处理、文件传输处理以及消息通信处理。
具体地,所述网络状态监控通过调用navigator.mozWifiManager和navigator.mozEthernetManager对象监控设备网络状态连接和获取网卡MAC和IP信息。
具体地,所述网络状态监控采用:调用navigator.mozWifiManager对象进行WIFI网络可用性判断,当WIFI网络可用时则调用navigator.mozWifiManager对象的属性接口获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线;当WIFI网络不可用,则调用navigator.mozEthernetManager接口获取Ethernet网络设置,获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线。
具体地,所述UDP通信处理通过调用框架层的UDPSocket对象实现设备间的UDP协议通信,监听收发端口为IPMSG协议的通信端口号。
具体地,所述TCP通信处理通过调用navigator.mozTCPSocket对象绑定监听端口IPMSG协议的通信端口号,实现TCP协议通信,作为TCPSocket的服务端,处理文件收发相关的客户端TCPSocket数据请求。
具体地,所述文件传输处理用于解析文件传输分享的数据处理和传输进度信息,调用navigator.getDeviceStorage对象进行收发文件的读取和保存。
具体地,所述IPMSG协议编解码用于解析构造IPMSG协议的各种指令消息数据,而且通过消息数据内容版本前缀识别不同平台的客户端程序类型;
所述消息通信处理通过UDP协议传输的各种消息,经由IPMSG协议编解码解析消息类型并作出对应的处理逻辑;
所述消息数据存储用于通信消息的保存和获取,并采用IndexedDB数据库存储;
所述UI交互界面使用HTML5+CSS+JavaScript实现,是软件的用户交互界面,用于显示局域网内在线的主机列表信息、聊天列表记录、对方主机信息、文件遍历选取、文件发送和接收信息。
根据本发明提供的一种基于WEB操作系统的局域网通信和文件传输系统,包括:
模块M1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;
模块M2:应用层调用框架层提供的JavaScript接口实现包括封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息。
具体地,所述模块M2采用:应用层调用框架层提供的JavaScript接口调用框架层的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象,实现包括UI交互、IPMSG协议编解码、网络状态监控、消息数据存储、UDP通信处理、TCP通信处理、文件传输处理以及消息通信处理。
具体地,所述网络状态监控通过调用navigator.mozWifiManager和navigator.mozEthernetManager对象监控设备网络状态连接和获取网卡MAC和IP信息。
具体地,所述网络状态监控采用:调用navigator.mozWifiManager对象进行WIFI网络可用性判断,当WIFI网络可用时则调用navigator.mozWifiManager对象的属性接口获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线;当WIFI网络不可用,则调用navigator.mozEthernetManager接口获取Ethernet网络设置,获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线。
具体地,所述UDP通信处理通过调用框架层的UDPSocket对象实现设备间的UDP协议通信,监听收发端口为IPMSG协议的通信端口号。
具体地,所述TCP通信处理通过调用navigator.mozTCPSocket对象绑定监听端口IPMSG协议的通信端口号,实现TCP协议通信,作为TCPSocket的服务端,处理文件收发相关的客户端TCPSocket数据请求。
具体地,所述文件传输处理用于解析文件传输分享的数据处理和传输进度信息,调用navigator.getDeviceStorage对象进行收发文件的读取和保存。
具体地,所述IPMSG协议编解码用于解析构造IPMSG协议的各种指令消息数据,而且通过消息数据内容版本前缀识别不同平台的客户端程序类型;
所述消息通信处理通过UDP协议传输的各种消息,经由IPMSG协议编解码解析消息类型并作出对应的处理逻辑;
所述消息数据存储用于通信消息的保存和获取,并采用IndexedDB数据库存储;
所述UI交互界面使用HTML5+CSS+JavaScript实现,是软件的用户交互界面,用于显示局域网内在线的主机列表信息、聊天列表记录、对方主机信息、文件遍历选取、文件发送和接收信息。
实施例2
实施例2是实施例1的优选例
为解决以上问题,本发明提供了一种基于WEB操作系统的局域网通信和文件传输方法。通过本方法可以让基于HTML5+JavaScript+CSS开发的软件程序,运行于Web操作系统平台,利用TCP和UDP协议进行数据跨平台通信,可兼容IPMSG、IPTUX和飞秋,局域网内实现信息交互和文件(夹)分享传输功能。
本发明提供的一种基于WEB操作系统的局域网通信和文件传输方法,包括:通过在Gecko(网页排版引擎,浏览器内核)中封装对Web层可直接调用的JavaScript接口,使用的技术是WebIDL(接口定义语言),可以实现Gecko层的C/C++实现,让Web层的JavaScript直接调用。而Gecko层C/C++则可以直接调用Linux系统提供的UDP、TCP、网络和文件存取等C/C++语言的API。通过这一套的封装集成,就实现了Web端JavaScript访问调用Linux内核层的API功能。
大部分Web技术应用都是基于浏览器请求远程服务器获取数据在本地浏览器进行数据显示(使用的是HTTP或HTTPS协议,无法实现IPMSG的基于UDP和TCP的协议),而没有考虑本地局域网通信的需求,所以大部分浏览器都没有提供本地UDP和TCP调用的接口。但是Web操作系统不但要考虑远程服务器数据的获取,也要提供本地主机的资源访问的需求。我们使用的Web操作系统基于开源的Gecko网页排版引擎开发,可以方便定制扩展本地化的功能接口,底层系统内核为Linux,驱动框架借鉴集成了部分Gonk技术,上层应用层为Gaia层,是HTML5+CSS+JavaScript实现的系统和用户应用。该Web操作系统的架构如下图1所示。
Web操作系统框架层(Gecko)采用WebIDL语言支持对外扩展接口,可以自定义功能接口,用于与JavaScript交互的C/C++实现。我们通过Gecko层实现了Web前端JavaScript可以直接调用的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象等,其中Gecko实现的各个接口对象分别满足应用层功能所需要的方法能力。如下图2-3所示为应用程序功能实现模块和框架层扩展接口实现组成图。
Lansharehelper应用程序的网络状态监控模块通过navigator.mozWifiManager和navigator.mozEthernetManager接口监控设备网络状态连接和获取网卡MAC和IP等信息。
IP信息是UDP和TCP通信的必要参数信息,如果此属性值无法获取应用将无法联网通信。网络状态监控模块在应用启动后自动加载,首先调用navigator.mozWifiManager接口进行WiFi网络可用性判断,如果可用则调用该接口对象的属性接口获取MAC地址、连接状态和连接配置信息(如IP),将获取的IP进行解析出广播地址或段内全部IP进行IPMSG协议封装,并通过UDPSocket(如果已经创建且可用)进行广播,通知局域网内主机自身已经上线。如果WiFi不可用,则会调用navigator.mozEthernetManager接口去获取Ethernet网络设置,获取到IP等信息采用同样步骤进行局域网广播上线状态。如果网络不可用,则会定期检测判断并在界面显示网络联网状态。网络状态监控模块的典型流程如下图3所示。
UDP通信处理模块通过调用框架层的UDPSocket对象方法实现设备间的UDP协议通信,监听收发端口为2425(IPMSG协议的通信端口号)。UDP通信模块加载后,创建UDPSocket对象并绑定2425端口,使用对象实例注册消息监听处理事件。如果接收到消息则调用IPMSG协议编解码模块进行消息解析,根据消息类型交由其他模块进行对应的处理。UDP通信处理模块的典型流程如下图4所示。
TCP通信模块通过调用navigator.mozTCPSocket对象接口用于绑定监听端口2425,实现TCP协议通信,作为TCPSocket的服务端,处理文件收发相关的客户端TCPSocket数据请求。一端主机再提出文件传输分享请求后,会先将传输的文件(夹)信息通过IPMSG协议编解码模块进行封装消息,然后通过UDPSocket发给接收方。接收方收到文件传输消息在页面显示,通过触发接收操作,将接收的文件信息通过TCPSocket发给发送方的TCPSocket服务端。对方再通过TCPSocket连接将文件数据消息传给接收端。接收方拒绝接收则会通过UDPSocket拒绝接收文件消息发送给发送方。TCP通信模块进行文件(夹)收发处理的典型流程如下图5所示。
IPMSG协议编解码模块主要用于解析构造IPMSG协议的各种指令消息数据,而且可以通过消息数据内容版本前缀识别不同平台的客户端程序类型。如对方客户端是IPMSG、IPTUX或飞秋等。该模块通过不同的调用条件判断是解码消息还是发送时的编码消息处理。通过解码消息的不同指令类型触发不同的逻辑处理。IPMSG协议编解码模块的消息处理流程如下图6所示。
文件传输处理模块主要用于解析文件传输分享的数据处理和传输进度信息等,以及调用navigator.getDeviceStorage接口进行收发文件的读取和保存。文件传输处理模块的流程处理如下图7所示。
消息通信处理模块可以处理通过UDP协议传输的各种消息,经由IPMSG协议编解码模块解析消息类型并作出对应的处理逻辑,如上线通知消息、下线通知下线、即时通信消息、文件列表传输请求消息等。消息通信处理模块的流程如下图8所示。
消息数据存储模块用于某些通信消息的保存和获取,采用IndexedDB数据库存储。存储的数据包括如聊天记录和文件传输分享记录等。在消息通信处理模块和文件传输处理模块中会调用该模块进行特定消息的数据保存。在聊天页面打开的时候会根据用户主机的IP信息读取该聊天过程中的即时通信信息和文件收发信息用于显示在聊天记录列表界面。消息数据存储模块的流程如下图9所示。
UI交互界面使用HTML5+CSS+JavaScript实现,是软件的用户交互界面,用于显示局域网内在线的主机列表信息、聊天列表记录、对方主机信息、文件遍历选取、文件(夹)发送和接收信息等。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (4)
1.一种基于WEB操作系统的局域网通信和文件传输方法,其特征在于,包括:
步骤S1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;
步骤S2:应用层调用框架层提供的JavaScript接口实现包括封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息;
所述步骤S2采用:应用层调用框架层提供的JavaScript接口调用框架层的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象,实现包括UI交互、IPMSG协议编解码、网络状态监控、消息数据存储、UDP通信处理、TCP通信处理、文件传输处理以及消息通信处理;
所述网络状态监控通过调用navigator.mozWifiManager和navigator.mozEthernetManager对象监控设备网络状态连接和获取网卡MAC和IP信息;
所述UDP通信处理通过调用框架层的UDPSocket对象实现设备间的UDP协议通信,监听收发端口为IPMSG协议的通信端口号;
所述TCP通信处理通过调用navigator.mozTCPSocket对象绑定监听端口IPMSG协议的通信端口号,实现TCP协议通信,作为TCPSocket的服务端,处理文件收发相关的客户端TCPSocket数据请求;
所述文件传输处理用于解析文件传输分享的数据处理和传输进度信息,调用navigator.getDeviceStorage对象进行收发文件的读取和保存。
2.根据权利要求1所述的基于WEB操作系统的局域网通信和文件传输方法,其特征在于,所述网络状态监控采用:调用navigator.mozWifiManager对象进行WIFI网络可用性判断,当WIFI网络可用时则调用navigator.mozWifiManager对象的属性接口获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,广播通知局域网内主机自身已经上线;当WIFI网络不可用,则调用navigator.mozEthernetManager接口获取Ethernet网络设置,获取MAC地址、连接状态和连接配置信息;将获取的连接配置信息进行解析获得广播地址或段内全部连接配置信息进行IPMSG协议封装,并广播通知局域网内主机自身已经上线。
3.根据权利要求1所述的基于WEB操作系统的局域网通信和文件传输方法,其特征在于,所述IPMSG协议编解码用于解析构造IPMSG协议的各种指令消息数据,而且通过消息数据内容版本前缀识别不同平台的客户端程序类型;
所述消息通信处理通过UDP协议传输的各种消息,经由IPMSG协议编解码解析消息类型并作出对应的处理逻辑;
所述消息数据存储用于通信消息的保存和获取,并采用IndexedDB数据库存储;
所述UI交互界面使用HTML5+CSS+JavaScript实现,是软件的用户交互界面,用于显示局域网内在线的主机列表信息、聊天列表记录、对方主机信息、文件遍历选取、文件发送和接收信息。
4.一种基于WEB操作系统的局域网通信和文件传输系统,其特征在于,包括:
模块M1:在框架层中封装JavaScript接口,JavaScript接口调用C/C++技术实现跨语言交互并维护接口调用中的资源状态管理;
模块M2:应用层调用框架层提供的JavaScript接口实现包括封装解析IPMSG协议通信、消息逻辑和业务处理,存取文件以及获取网络消息;
所述模块M2采用:应用层调用框架层提供的JavaScript接口调用框架层的UDPSocket、TCPSocket、navigator.mozTCPSocket、navigator.mozWifiManager、navigator.mozEthernetManager和navigator.getDeviceStorage对象,实现包括UI交互、IPMSG协议编解码、网络状态监控、消息数据存储、UDP通信处理、TCP通信处理、文件传输处理以及消息通信处理;
所述网络状态监控通过调用navigator.mozWifiManager和navigator.mozEthernetManager对象监控设备网络状态连接和获取网卡MAC和IP信息;
所述UDP通信处理通过调用框架层的UDPSocket对象实现设备间的UDP协议通信,监听收发端口为IPMSG协议的通信端口号;
所述TCP通信处理通过调用navigator.mozTCPSocket对象绑定监听端口IPMSG协议的通信端口号,实现TCP协议通信,作为TCPSocket的服务端,处理文件收发相关的客户端TCPSocket数据请求;
所述文件传输处理用于解析文件传输分享的数据处理和传输进度信息,调用navigator.getDeviceStorage对象进行收发文件的读取和保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606925.5A CN115174552B (zh) | 2022-05-31 | 2022-05-31 | 基于web操作系统的局域网通信和文件传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606925.5A CN115174552B (zh) | 2022-05-31 | 2022-05-31 | 基于web操作系统的局域网通信和文件传输方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174552A CN115174552A (zh) | 2022-10-11 |
CN115174552B true CN115174552B (zh) | 2024-03-29 |
Family
ID=83483604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210606925.5A Active CN115174552B (zh) | 2022-05-31 | 2022-05-31 | 基于web操作系统的局域网通信和文件传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174552B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407369A (zh) * | 2015-11-17 | 2016-03-16 | 青岛海信电器股份有限公司 | 一种基于Web应用的终端通信方法与装置 |
CN105554571A (zh) * | 2014-11-03 | 2016-05-04 | Tcl集团股份有限公司 | 一种基于Firefox OS的TV系统实现方法及装置 |
CN106254348A (zh) * | 2016-08-08 | 2016-12-21 | 中国地质大学武汉 | 一种基于Android的无线局域网通信方法 |
CN106850758A (zh) * | 2016-12-30 | 2017-06-13 | 广州慧扬信息系统科技有限公司 | 应用于医院信息系统的数据交换方法 |
CN111683069A (zh) * | 2020-05-28 | 2020-09-18 | 杭州绿度信息技术有限公司 | 一种基于netty框架的自定义通信协议及服务方法 |
CN113825258A (zh) * | 2021-08-18 | 2021-12-21 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于FirefoxOS的多模通信方法及操作系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000054485A1 (en) * | 1999-03-06 | 2000-09-14 | Dti Networks, Inc. | System and method for administrating call and call feature set-up in a telecommunications network |
JP4901863B2 (ja) * | 2005-07-04 | 2012-03-21 | エスケーテレコム株式会社 | ホームネットワークサービスのための住居用ゲートウェイシステム |
US20100318618A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Development tools for transition-independent web features |
-
2022
- 2022-05-31 CN CN202210606925.5A patent/CN115174552B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554571A (zh) * | 2014-11-03 | 2016-05-04 | Tcl集团股份有限公司 | 一种基于Firefox OS的TV系统实现方法及装置 |
CN105407369A (zh) * | 2015-11-17 | 2016-03-16 | 青岛海信电器股份有限公司 | 一种基于Web应用的终端通信方法与装置 |
CN106254348A (zh) * | 2016-08-08 | 2016-12-21 | 中国地质大学武汉 | 一种基于Android的无线局域网通信方法 |
CN106850758A (zh) * | 2016-12-30 | 2017-06-13 | 广州慧扬信息系统科技有限公司 | 应用于医院信息系统的数据交换方法 |
CN111683069A (zh) * | 2020-05-28 | 2020-09-18 | 杭州绿度信息技术有限公司 | 一种基于netty框架的自定义通信协议及服务方法 |
CN113825258A (zh) * | 2021-08-18 | 2021-12-21 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于FirefoxOS的多模通信方法及操作系统 |
Non-Patent Citations (4)
Title |
---|
Maximum Power Point Tracking Control of IPMSG Incorporating Loss Minimization and Speed Sensorless Schemes for Wind Energy System;M. Nasir Uddin; Nirav Patel;;《IEEE Transactions on Industry Applications》;第52卷(第2期);全文 * |
基于Android平台的无线局域网通信APP设计与实现;王霄翔;;《电子制作》(第13期);全文 * |
基于Web前端开发的即时通信文件传输研究;何杰惠;;《微型电脑应用》(第11期);全文 * |
网络应用技术新发展;何克抗;《电化教育研究》(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174552A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590629B2 (en) | Method and network device for synchronization of database data routed through a router | |
CN110300050A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
US7505574B2 (en) | Method and system for providing an improved communications channel for telephone conference initiation and management | |
KR20070000467A (ko) | 이동 단말기와 관련된 데이터 베이스, 서비스 및 장치들의원격 관리 및 액세스 | |
CN106549989B (zh) | 一种数据传输方法及其系统、用户终端、应用服务器 | |
CN106911666B (zh) | 一种可穿戴智能设备及其消息处理方法、系统 | |
CN113825258B (zh) | 基于FirefoxOS的多模通信方法及操作系统 | |
WO2017114190A1 (zh) | 一种文件上传处理方法及装置 | |
EP2802115B1 (en) | Method, terminal and server for recovering session content transmission | |
CN114124929A (zh) | 跨网络的数据处理方法和装置 | |
CN112835632B (zh) | 一种端能力的调用方法、设备和计算机存储介质 | |
CN105704001A (zh) | 一种微信服务器消息分发方法及系统 | |
CN113207194B (zh) | 一种基于麒麟移动操作系统的多模通信实现方法及装置 | |
CN115174552B (zh) | 基于web操作系统的局域网通信和文件传输方法及系统 | |
CN111913817A (zh) | 一种数据传输方法、系统和设备以及计算机可读存储介质 | |
CN112492055A (zh) | 一种传输协议重定向的方法、装置、设备及可读存储介质 | |
CN116302602A (zh) | 一种Flutter原生混合开发的消息传输方法及装置 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN114710560A (zh) | 数据处理方法、系统及代理设备、终端设备 | |
CN107992363B (zh) | 数据的处理方法和装置 | |
CN114928595B (zh) | 一种基于小程序平台实现WebRTC功能的系统 | |
CN116455945B (zh) | 一种物联设备接入和联动的方法及系统 | |
CN112351111B (zh) | 一种工业质检文件上传服务器端近实时进度监控方法 | |
CN113114698B (zh) | 一种网络数据请求方法、系统、装置、设备及存储介质 | |
CN113065049A (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 |