1.一种通过WEB页面访问SPICE协议远程桌面的方法,其特征在于:包括如下步骤:步骤1:在宿主机上安装一个WebSocket的代理服务器,用于转发SPICE远程桌面的连接请求,以及发送SPICE服务器的协议数据;
步骤2:WEB页面向WEB服务器请求SPICE服务器的地址和SPICE桌面的端口;
步骤3:WEB页面收到WEB服务器的响应以后,根据SPICE服务器的地址,向WebSocket代理服务器发出建立WebSocket连接的请求;
步骤4:WEB页面使用WebSocket连接发送SPICE协议的命令并从SPICE服务器接收协议数据。
2.根据权利要求1所述的通过WEB页面访问SPICE协议远程桌面的方法,其特征在于:所述的SPICE远程桌面的连接请求是指一个URL,由SPICE服务器地址和端口组成,表示为“ws://somehost:port/?password=pwd&fullscreen=true”的模式;
其中somhost表示SPICE服务器地址,port表示端口,password表示用户名,fullscreen表示是否远程桌面显示全屏。
3.根据权利要求1或2所述的通过WEB页面访问SPICE协议远程桌面的方法,其特征在于:所述的向WebSocket代理服务器发出建立WebSocket连接当前请求过程使用Javascript完成;具体步骤如下:步骤1:WEB浏览器首先发起一个对WebSocket代理服务器的HTTP连接请求。请求头信息里包含有服务器的IP和端口、以及”Sec-WebSocket-Key1”、“Sec-WebSocket-Key2”和”[8-byte securitykey]”这样的头信息;
步骤2:WebSocket代理服务器解析这些头信息,并在握手的过程中依据这些信息生成一个16位的安全密钥并返回给WEB浏览器,以表明WebSocket代理服务器获取了WEB浏览器的请求,同意创建WebSocket连接;一旦连接建立,WEB浏览器和WebSocket代理服务器则可通过这个通道双向传输数据。
4.根据权利要求3所述的通过WEB页面访问SPICE协议远程桌面的方法,其特征在于:所述的安全密钥生成包括如下步骤:
步骤1:逐个字符读取Sec-WebSocket-Key1头信息中的值,将数值型字符连接到一起放到一个临时字符串里,同时统计所有空格的数量;
步骤2:将在步骤1里生成的数字字符串转换成一个整型数字,然后除以步骤1里统计出来的空格数量,将得到的浮点数转换成整数型;
步骤3:将步骤2里生成的整型值转换为符合网络传输的网络字节数组;
步骤4:对Sec-WebSocket-Key2头信息同样进行步骤1到步骤3的操作,得到另外一个网络字节数组;
步骤5:将[8-byte security key]和在步骤3、步骤4里生成的网络字节数组合并成一个16字节的数组;
步骤6:对步骤5生成的字节数组使用MD5算法生成一个16位的哈希值,这个哈希值作为安全密钥返回给客户端,以表明WebSocket代理服务器获取了WEB浏览器的请求,同意创建WebSocket连接。