CN110058912A - 一种通过网页浏览器访问Spice远程桌面的方法 - Google Patents

一种通过网页浏览器访问Spice远程桌面的方法 Download PDF

Info

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
Application number
CN201910222135.5A
Other languages
English (en)
Inventor
侯亚杰
王则陆
于振峰
马辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201910222135.5A priority Critical patent/CN110058912A/zh
Publication of CN110058912A publication Critical patent/CN110058912A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote 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远程桌面的方法。
背景技术
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前端进行展示最终内容。
CN201910222135.5A 2019-03-22 2019-03-22 一种通过网页浏览器访问Spice远程桌面的方法 Pending CN110058912A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162973A (zh) * 2021-03-03 2021-07-23 杭州迪普科技股份有限公司 一种ssl vpn的ip接入方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
党飞等: "基于KVM的B/S架构虚拟化管理系统", 《计算机工程与设计》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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