CN110058912A - 一种通过网页浏览器访问Spice远程桌面的方法 - Google Patents
一种通过网页浏览器访问Spice远程桌面的方法 Download PDFInfo
- Publication number
- CN110058912A CN110058912A CN201910222135.5A CN201910222135A CN110058912A CN 110058912 A CN110058912 A CN 110058912A CN 201910222135 A CN201910222135 A CN 201910222135A CN 110058912 A CN110058912 A CN 110058912A
- Authority
- CN
- China
- Prior art keywords
- spice
- server
- web
- desktop
- accessing
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出的一种通过网页浏览器访问Spice远程桌面的方法,首先,建立Spice桌面的初始化连接,为通过浏览器来访问Spice远程桌面提供了基础;其次,浏览器访问远程桌面,本质是实现了Web版的Spice客户端,因此也需要与Spice Server进行连接。但Web访问远程服务器必须通过WebSocket与Web服务器进行连接,因此,在宿主机Server端安装Web服务器用于转发Web‑Spice的网络请求;最后,通过Web前端进行最终内容的展示。由此,实现了在浏览器中访问Spice桌面,使Spice桌面访问支持B/S架构。
Description
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种通过网页浏览器访问Spice远程桌面的方法。
背景技术
spice是由Qumranet开发的开源网络协议,2008年红帽收购了Qumranet获得了这个协议。SPICE是红帽在虚拟化领域除了KVM的又一“新兴技术”,它提供与虚拟桌面设备的远程交互实现,主要应用在桌面虚拟化,支持图像,2D传输,720P视频播放。目前,spice主要目标是为qemu虚拟机提供高质量的远程桌面访问,它致力于克服传统虚拟桌面的一些弊端,并且强调用户体验。
当前Spice桌面远程访问基本都是基于C/S架构,需要在客户端安装Spice客户端来连接远程桌面。即访问Spice客户端需要在既定的客户端上进行,不具有普适性。不能像VNC一样可以在任何设备、甚至于浏览器中就可以连接桌面。但是,VNC桌面的用户体验没有Spice桌面的好。
发明内容
针对以上问题,本发明的目的在于提供一种通过网页浏览器访问Spice远程桌面的方法,实现在浏览器中访问Spice桌面,使Spice桌面访问支持B/S架构。
本发明为实现上述目的,通过以下技术方案实现:一种通过网页浏览器访问Spice远程桌面的方法,包括如下步骤:
步骤1:建立Spice桌面的初始化连接;
步骤2:在宿主机Server端安装Web服务器用于转发Web-Spice的网络请求;
步骤3:通过Web前端进行最终内容的展示。
进一步,所述步骤1包括:
步骤11:启动Qemu虚拟机;
步骤12:调用Spice-Server的接口进行Spice桌面的初始化操作;
步骤13:Spice-Server与Spice-Client建立连接;
步骤14:Spice-Server与Spice-Client通过Spice-Channel进行通信。
进一步,所述步骤12包括:调用Spice-Server的接口对Spice-Channel进行初始化。
进一步,所述Spice-Channel包括:Spice MainChannel、Spice InputChannel、Spice RecordChannel、Spice DisplayChannel。
进一步,所述步骤2包括:
步骤21:Web-Spice向Web服务器发送长连接请求;
步骤22:Web服务器接受连接请求后转发请求与Spice-Server进行会话;
步骤23:Web-Spice进行初始化,并向Web服务器发送Spice请求。
进一步,所述步骤22之后还包括:返回Spice服务器地址与端口号。
进一步,所述步骤3包括:
等待Spice-Server返回Spice连接内容,Web-Spice获得返回的Spice连接内容后根据返回的内容类型提供给Spice channel,Spice channel具体处理返回的网络数据,最终调用JavaScript接口呈现Spice桌面的内容。
进一步,所述步骤3包括:
步骤31:在宿主机上安装WebSocket的代理服务器,用于转发Spice远程桌面连接,以及发送Spice服务器的协议数据;
步骤32:Web页面向web服务器请求Spice服务器地址与端口号;
步骤33:Web页面收到Web服务器响应后,根据Spice服务器的地址,向WebSocket服务器发出建立WebSocket连接的请求;
步骤34:Web页面使用WebSocket连接发送Spice协议的命令并从Spice服务器接收协议数据;
步骤35:接受Spice服务器返回信息后,根据消息类型分配给不同的SpiceChannel进行处理,最终通过Web前端进行展示最终内容。
对比现有技术,本发明有益效果在于:本发明提出的一种通过网页浏览器访问Spice远程桌面的方法,首先,建立Spice桌面的初始化连接,为通过浏览器来访问Spice远程桌面提供了基础;其次,浏览器访问远程桌面,本质是实现了Web版的Spice客户端,因此也需要与Spice Server进行连接。但Web访问远程服务器必须通过WebSocket与Web服务器进行连接,因此,在宿主机Server端安装Web服务器用于转发Web-Spice的网络请求;最后,通过Web前端进行最终内容的展示。由此,实现了在浏览器中访问Spice桌面,使Spice桌面访问支持B/S架构。
本发明因为是针对于浏览器的开发,因此可以很容易实现跨平台。本发明是基于Google的Chrome浏览器实现的,尚未适配其他浏览器。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
附图1是本发明的结构示意图。
附图2是本发明的实施例一的方法流程图。
附图3是本发明的实施例二的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
实施例一:
如图1、图2所示的一种通过网页浏览器访问Spice远程桌面的方法,包括如下步骤:
步骤1:启动Qemu虚拟机。
步骤2:调用Spice-Server的接口进行Spice桌面的初始化操作。
具体为:调用Spice-Server的接口对Spice-Channel进行初始化。其中,Spice-Channel包括:Spice MainChannel、Spice InputChannel、Spice RecordChannel、SpiceDisplayChannel。Spice-Channel是Spice连接最重要的内容,每一个Channel控制着桌面操作中的一项操作。
步骤3:Spice-Server与Spice-Client建立连接。
步骤4:Spice-Server与Spice-Client通过Spice-Channel进行通信。
通过步骤1-步骤4,建立了Spice桌面的初始化连接,是实现浏览器访问Spice远程桌面的基础。
步骤5:Web-Spice向Web服务器发送长连接请求。
步骤6:Web服务器接受连接请求后转发请求与Spice-Server进行会话。
步骤7:返回Spice服务器地址与端口号。
步骤8:Web-Spice进行初始化,并向Web服务器发送Spice请求。
步骤9:等待Spice-Server返回Spice连接内容,Web-Spice获得返回的Spice连接内容后根据返回的内容类型提供给Spice channel,Spice channel具体处理返回的网络数据,最终调用JavaScript接口呈现Spice桌面的内容。
实施例二:
如图1、图3所示的一种通过网页浏览器访问Spice远程桌面的方法,包括如下步骤:
步骤1:启动Qemu虚拟机。
步骤2:调用Spice-Server的接口进行Spice桌面的初始化操作。
具体为:调用Spice-Server的接口对Spice-Channel进行初始化。其中,Spice-Channel包括:Spice MainChannel、Spice InputChannel、Spice RecordChannel、SpiceDisplayChannel。Spice-Channel是Spice连接最重要的内容,每一个Channel控制着桌面操作中的一项操作。
步骤3:Spice-Server与Spice-Client建立连接。
步骤4:Spice-Server与Spice-Client通过Spice-Channel进行通信。
通过步骤1-步骤4,建立了Spice桌面的初始化连接,是实现浏览器访问Spice远程桌面的基础。
步骤5:Web-Spice向Web服务器发送长连接请求。
步骤6:Web服务器接受连接请求后转发请求与Spice-Server进行会话。
步骤7:返回Spice服务器地址与端口号。
步骤8:Web-Spice进行初始化,并向Web服务器发送Spice请求。
步骤9:在宿主机上安装WebSocket的代理服务器,用于转发Spice远程桌面连接,以及发送Spice服务器的协议数据。
步骤10:Web页面向web服务器请求Spice服务器地址与端口号。
步骤11:Web页面收到Web服务器响应后,根据Spice服务器的地址,向WebSocket服务器发出建立WebSocket连接的请求。
步骤12:Web页面使用WebSocket连接发送Spice协议的命令并从Spice服务器接收协议数据。
步骤13:接受Spice服务器返回信息后,根据消息类型分配给不同的SpiceChannel进行处理,最终通过Web前端进行展示最终内容。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
Claims (8)
1.一种通过网页浏览器访问Spice远程桌面的方法,其特征在于,包括如下步骤:
步骤1:建立Spice桌面的初始化连接;
步骤2:在宿主机Server端安装Web服务器用于转发Web-Spice的网络请求;
步骤3:通过Web前端进行最终内容的展示。
2.根据权利要求1所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述步骤1包括:
步骤11:启动Qemu虚拟机;
步骤12:调用Spice-Server的接口进行Spice桌面的初始化操作;
步骤13:Spice-Server与Spice-Client建立连接;
步骤14:Spice-Server与Spice-Client通过Spice-Channel进行通信。
3.根据权利要求2所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述步骤12包括:调用Spice-Server的接口对Spice-Channel进行初始化。
4.根据权利要求2或3所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述Spice-Channel包括:Spice MainChannel、Spice InputChannel、SpiceRecordChannel、Spice DisplayChannel。
5.根据权利要求1所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述步骤2包括:
步骤21:Web-Spice向Web服务器发送长连接请求;
步骤22:Web服务器接受连接请求后转发请求与Spice-Server进行会话;
步骤23:Web-Spice进行初始化,并向Web服务器发送Spice请求。
6.根据权利要求5所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述步骤22之后还包括:返回Spice服务器地址与端口号。
7.根据权利要求5所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述步骤3包括:
等待Spice-Server返回Spice连接内容,Web-Spice获得返回的Spice连接内容后根据返回的内容类型提供给Spice channel,Spice channel具体处理返回的网络数据,最终调用JavaScript接口呈现Spice桌面的内容。
8.根据权利要求1所述的通过网页浏览器访问Spice远程桌面的方法,其特征在于,所述步骤3包括:
步骤31:在宿主机上安装WebSocket的代理服务器,用于转发Spice远程桌面连接,以及发送Spice服务器的协议数据;
步骤32:Web页面向web服务器请求Spice服务器地址与端口号;
步骤33:Web页面收到Web服务器响应后,根据Spice服务器的地址,向WebSocket服务器发出建立WebSocket连接的请求;
步骤34:Web页面使用WebSocket连接发送Spice协议的命令并从Spice服务器接收协议数据;
步骤35:接受Spice服务器返回信息后,根据消息类型分配给不同的Spice Channel进行处理,最终通过Web前端进行展示最终内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222135.5A CN110058912A (zh) | 2019-03-22 | 2019-03-22 | 一种通过网页浏览器访问Spice远程桌面的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222135.5A CN110058912A (zh) | 2019-03-22 | 2019-03-22 | 一种通过网页浏览器访问Spice远程桌面的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110058912A true CN110058912A (zh) | 2019-07-26 |
Family
ID=67315895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910222135.5A Pending CN110058912A (zh) | 2019-03-22 | 2019-03-22 | 一种通过网页浏览器访问Spice远程桌面的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058912A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162973A (zh) * | 2021-03-03 | 2021-07-23 | 杭州迪普科技股份有限公司 | 一种ssl vpn的ip接入方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458034A (zh) * | 2013-09-04 | 2013-12-18 | 国云科技股份有限公司 | 一种通过web页面访问spice协议远程桌面的方法 |
CN107404536A (zh) * | 2017-08-09 | 2017-11-28 | 鹤云来科技有限公司 | 一种防止基于OpenStack和Spice的客户端花屏方法及系统 |
CN107682445A (zh) * | 2017-10-24 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于云架构的移动云桌面平台的搭建方法 |
US20190037000A1 (en) * | 2016-02-29 | 2019-01-31 | University-Industry Cooperation Group Of Kyung Hee University | Apparatus and method for providing contents using web-based virtual desktop protocol |
-
2019
- 2019-03-22 CN CN201910222135.5A patent/CN110058912A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458034A (zh) * | 2013-09-04 | 2013-12-18 | 国云科技股份有限公司 | 一种通过web页面访问spice协议远程桌面的方法 |
US20190037000A1 (en) * | 2016-02-29 | 2019-01-31 | University-Industry Cooperation Group Of Kyung Hee University | Apparatus and method for providing contents using web-based virtual desktop protocol |
CN107404536A (zh) * | 2017-08-09 | 2017-11-28 | 鹤云来科技有限公司 | 一种防止基于OpenStack和Spice的客户端花屏方法及系统 |
CN107682445A (zh) * | 2017-10-24 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于云架构的移动云桌面平台的搭建方法 |
Non-Patent Citations (1)
Title |
---|
党飞等: "基于KVM的B/S架构虚拟化管理系统", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162973A (zh) * | 2021-03-03 | 2021-07-23 | 杭州迪普科技股份有限公司 | 一种ssl vpn的ip接入方法及装置 |
CN113162973B (zh) * | 2021-03-03 | 2022-07-01 | 杭州迪普科技股份有限公司 | 一种ssl vpn的ip接入方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7933955B2 (en) | One-click universal screen sharing | |
US9591381B2 (en) | Automated discovery and launch of an application on a network enabled device | |
US10230770B2 (en) | Network proxy layer for policy-based application proxies | |
CN103782294B (zh) | 远程浏览会话管理 | |
WO2019114185A1 (zh) | 一种app远程控制方法及相关设备 | |
WO2018078457A1 (en) | Multi-window architecture and data communication for a remote access application session | |
CN106357697A (zh) | 一种基于WebSocket属性同步的多终端页面同步方法 | |
JP6443124B2 (ja) | 共同セッションへの文書の公平な追加 | |
WO2016054977A1 (zh) | 一种互动应答的方法及装置 | |
WO2018024116A1 (zh) | 基于卡片的信息展示方法、信息展示业务的处理方法及装置 | |
US11016653B2 (en) | Methods and system for locally generated gesture and transition graphics interaction with terminal control services | |
US8819139B2 (en) | Virtual desktop infrastructure (VDI) login acceleration | |
CN104601650A (zh) | 为Web实时通信(WebRTC)交互流提供智能管理的方法和系统 | |
WO2019105390A1 (zh) | 一种视频通话中的共享对象操作方法 | |
US20200228611A1 (en) | System and method for coupling two separate applications to an application session within a serverless infrastructure | |
CN106162043A (zh) | 一种视频会议系统中多媒体文件演示方法 | |
KR102136474B1 (ko) | 가상 세션에서의 클라이언트 측 키보드 레이아웃과 서버 측 키보드 레이아웃의 동기화 | |
CN109085950A (zh) | 基于电子白板的多屏互动方法、装置及电子白板 | |
WO2016127796A1 (zh) | 信息交互方法及服务器 | |
CN103997482A (zh) | 桌面云业务中用户登录的方法、系统 | |
WO2019196577A1 (zh) | 一种流媒体回放方法、服务器、客户端及计算机设备 | |
CN103885973A (zh) | 一种基于Web引擎的远程过程调用系统及实现方法 | |
CN110058912A (zh) | 一种通过网页浏览器访问Spice远程桌面的方法 | |
CN103152429B (zh) | 基于web跨平台与拼墙互动的方法及装置 | |
US9621632B2 (en) | Scaling of stateful enterprise services |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190726 |