CN102929610B - 一种基于vnc和jnlp协议实现远程桌面的方法 - Google Patents
一种基于vnc和jnlp协议实现远程桌面的方法 Download PDFInfo
- Publication number
- CN102929610B CN102929610B CN201210388420.2A CN201210388420A CN102929610B CN 102929610 B CN102929610 B CN 102929610B CN 201210388420 A CN201210388420 A CN 201210388420A CN 102929610 B CN102929610 B CN 102929610B
- Authority
- CN
- China
- Prior art keywords
- jnlp
- vnc
- node
- need
- localprintwriter
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000008676 import Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 101150035983 str1 gene Proteins 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于VNC和JNLP协议实现远程桌面的方法,该方法基于(VNC)jar包、JNLP协议所构成的服务器端和Flex、JRE1.6(及以上版本)所构成的客户端,被访问节点需要VNCServer服务支持。用户在客户端页面只需点击要查看的目标集群节点,无需输入该节点的IP地址,即可弹出该节点的远程桌面。通常情况下,远程桌面访问都是独立存在的,需要记录被访问节点的IP地址和密码,由于集群的规模越来越庞大,传统的方法导致需要记录大量的目标节点IP和密码数据,所以传统的方法已经不能满足当前的需求。
Description
技术领域
本发明涉及高性能集群计算领域, 具体地说是一种基于VNC和JNLP协议实现远程桌面的方法。
背景技术
随着计算机集群规模的膨胀,传统的对服务器的管理方法越来越不适用,需要一套集群监控管理软件来对庞大的计算机集群进行管理,以提高管理的效率和降低管理成本。本发明,就是为集群监控管理软件提供支持的方法。
通常情况下,远程桌面访问都是独立存在的,需要记录被访问节点的IP地址和密码,由于集群的规模越来越庞大,传统的方法导致需要记录大量的目标节点IP和密码数据,所以传统的方法已经不能满足当前的需求。
发明内容
本发明的目的是提供一种基于VNC和JNLP协议实现远程桌面的方法。
本发明的目的是按以下方式实现的,具体步骤如下:
1)在目标节点安装和配置VNCServer,Linux系统,系统自带VNCServer,Windows需自行安装;客户机需安装JRE1.6或更高版本;
2)Flex页面端: ActionScript调用JavaScript;通过flash ActionScrtip提供的外部访问接口的call方法,来调用js中的方法;
将js引入到html-template/index.template.html中,在flex编译的时候,会将js的方法一起编译;
在js的方法中,访问指定的资源并传递参数:
window.location.href=”http://”+ tomcatIP +”:”+tomcatPort +”/”+projectName +”/rmsInterface?serverIP=”+remoteIP +”&serverPort=” +remotePort;
在As中用ExternalInterface.call方法来调用js中的方法,同时传递需要的参数;
ExternalInterface.call("toRemoteDesktop",tomcatIP,tomcatPort,projectName,remoteIP, remotePort);其中“toRemoteDesktop”为js中的方法;
3)Servlet端: web.xml对jnlp的配置,使servlet支持jnlp协议添加:
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>;
4)通过rmsInterface在web.xml中找到对应的servlet类,该类主要是动态生成jnlp文件,并返回给客户端;
5)客户端根据返回的jnlp文件,自动加载web服务器中的VncViewer.jar;
6)弹出VNC密码输入框,输入密码后,即可打开相应节点的远程桌面。
本发明的有益效果是:
该方法的被访问节点需要VNCServer服务支持;服务器端由(VNC)jar包、基于JNLP协议的Java编码构成;客户端由Flex页面编码和相关配置、JRE1.6(及以上版本)构成。用户在客户端页面只需点击要查看的目标集群节点,无需输入该节点的IP地址,即可弹出该节点的远程桌面。本发明可以集成到集群监控管理软件中,通常该软件本身提供集群节点导航树,能够清晰的反应出当前集群的结构和目标节点所处的位置,而且无需记录集群中所有节点的IP地址。所以本发明集成到传统的集群管理软件中,能够更好的满足用户远程访问目标节点。
具体实施方式
具体步骤如下:
1)目标节点需安装和配置VNCServer,Linux系统一般自带VNCServer,Windows需自行安装;客户机需安装JRE1.6或更高版本;
2)Flex页面端: ActionScript调用JavaScript;
通过flash ActionScrtip提供的外部访问接口的call方法,来调用js中的方法;
将js引入到html-template/index.template.html中,在flex编译的时候,会将js的方法一起编译。
在js的方法中,访问指定的资源并传递参数:
window.location.href=”http://”+ tomcatIP +”:”+tomcatPort +”/”+projectName +”/rmsInterface?serverIP=”+remoteIP +”&serverPort=” +remotePort;
在As中用ExternalInterface.call方法来调用js中的方法,同时传递需要的参数。
ExternalInterface.call("toRemoteDesktop",tomcatIP,tomcatPort,projectName,remoteIP, remotePort);
其中“toRemoteDesktop”为js中的方法;
3)Servlet端: web.xml对jnlp的配置,使servlet支持jnlp协议添加:
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>;
4)通过rmsInterface在web.xml中找到对应的servlet类(详见:MakeJnlpServlet.java),该类主要是动态生成jnlp文件,并返回给客户端;
5)客户端根据返回的jnlp文件,自动加载web服务器中的VncViewer.jar
6.弹出VNC密码输入框,输入密码后,即可打开相应节点的远程桌面。
实施例:
1)web.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>RmsInterface</servlet-name>
<servlet-class>MakeJnlpServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RmsInterface</servlet-name>
<url-pattern>/rmsInterface</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
</web-app>
2)java script方法
function remoteDesktop(serverIP,serverPort,serverName,requestIPport)
{
window.location.href = "http://"+ serverIP +":"+ serverPort +"/"+serverName +"/rmsInterface?tomcatIP=" + serverIP+"&targetIP=" +requestIPport;
}
3)将下述代码添加进html-template/index.template.html文件
<script src="./manage/scriptsForRemoteDesktop.js" language="javascript"/>
4)Action Script方法
import flash.net.navigateToURL;
public function redirect():void{
var tomcatIP:String = "10.152.11.248";
var tomcatPort:String = "8080";
var projectName:String = "jnlp";
var remoteIP:String = "10.152.11.212:1";
var remotePort:String = "zzzzzz";
ExternalInterface.call("sayHelloWorld",tomcatIP,tomcatPort,
projectName,remoteIP, remotePort);
}
5)JNLP文件生成方法
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MakeJnlpServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest paramHttpServletRequest,HttpServletResponse paramHttpServletResponse)
throws ServletException, IOException
{
String str1 = paramHttpServletRequest.getParameter("serverIP");
String str2 = paramHttpServletRequest.getParameter("serverPort");
System.out.println("A---->" + str1 + "B----->" + str2);
String str3 = paramHttpServletRequest.getScheme();
String str4 = paramHttpServletRequest.getServerName();
int i = paramHttpServletRequest.getServerPort();
String str5 = paramHttpServletRequest.getContextPath();
System.out.println("Scheme: "+str3+"\tServerName: "+str4+"\tPort:"+i+"\tContextPath: "+str5);
String str6 = "rmsInterface";
paramHttpServletResponse.setContentType("application/x-java-jnlp-file");
PrintWriter localPrintWriter = paramHttpServletResponse.getWriter();
localPrintWriter.println("<?xml version=\"1.0\" encoding=\"GBK\"?>");
localPrintWriter.println("<jnlp spec=\"1.0+\" codebase=\"" + str3+ "://" + str4 + ":" + i + str5 + "\" href=\"" + str6 + "\">");
localPrintWriter.println("<information>");
localPrintWriter.println(" <title>rms</title>");
localPrintWriter.println(" <vendor>cattsoft</vendor>");
localPrintWriter.println(" <homepage href=\"index.html\"/>");
localPrintWriter.println(" <description>Web Start Version</description>");
localPrintWriter.println(" <description kind=\"short\">Web StartVersion</description>");
localPrintWriter.println("</information>");
localPrintWriter.println("<security>");
localPrintWriter.println(" <all-permissions/>");
localPrintWriter.println("</security>");
localPrintWriter.println("<resources>");
localPrintWriter.println(" <j2se version=\"1.6+\"/>");
localPrintWriter.println(" <jar href=\"VncViewer.jar\"/>");
//localPrintWriter.println(" <jar href=\"tightvnc-jviewer.jar\"/>");
localPrintWriter.println("</resources>");
//localPrintWriter.println("<application-desc main-class=\"VncViewer\">");
localPrintWriter.println("<application-desc main-class=\"vncviewer.VNCViewer\">");
//localPrintWriter.println("<application-desc main-class=\"com/glavsoft/viewer/Viewer\">");
localPrintWriter.println("<argument>" + str1 + "</argument>");
//localPrintWriter.println("<argument>" + str2 + "</argument>");
localPrintWriter.println("</application-desc>");
localPrintWriter.println("</jnlp>");
localPrintWriter.flush();
localPrintWriter.close();
}
}。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (1)
1.一种基于VNC和JNLP协议实现远程桌面的方法,其特征在于,具体步骤如下:
1)在目标节点安装和配置VNCServer,Linux系统,系统自带VNCServer,Windows需自行安装;客户机需安装JRE1.6或更高版本;
2)Flex页面端:ActionScript调用JavaScript;通过flash ActionScrtip提供的外部访问接口的call方法,来调用js中的方法:
将js引入到html-template/index.template.html中,在flex编译的时候,会将js的方法一起编译;
在js的方法中,访问指定的资源并传递参数:
window.location.href=”http://”+tomcatIP+”:”+tomcatPort+”/”+projectName+”/rmsInterface?serverIP=”+remoteIP+”&serverPort=”+remotePort;
在As中用ExternalInterface.call方法来调用js中的方法,同时传递需要的参数:
4)通过rmsInterface在web.xml中找到对应的servlet类,该类主要是动态生成jnlp文件,并返回给客户端;
5)客户端根据返回的jnlp文件,自动加载web服务器中的VncViewer.jar;
6)弹出VNC密码输入框,输入密码后,即可打开相应节点的远程桌面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210388420.2A CN102929610B (zh) | 2012-10-12 | 2012-10-12 | 一种基于vnc和jnlp协议实现远程桌面的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210388420.2A CN102929610B (zh) | 2012-10-12 | 2012-10-12 | 一种基于vnc和jnlp协议实现远程桌面的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929610A CN102929610A (zh) | 2013-02-13 |
CN102929610B true CN102929610B (zh) | 2017-03-15 |
Family
ID=47644423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210388420.2A Active CN102929610B (zh) | 2012-10-12 | 2012-10-12 | 一种基于vnc和jnlp协议实现远程桌面的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929610B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280715A1 (en) * | 2013-03-15 | 2014-09-18 | First Principles, Inc. | Real time remote desktop |
CN103281331A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种windows客户端登陆远程服务器桌面的方法 |
CN105450748B (zh) * | 2015-11-23 | 2019-03-05 | 国云科技股份有限公司 | 一种基于Openstack的物理机远程桌面的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540815A (zh) * | 2008-03-19 | 2009-09-23 | 佳能株式会社 | 信息处理装置、图像处理装置、图像处理系统及图像处理方法 |
CN101996093A (zh) * | 2009-08-10 | 2011-03-30 | 日电(中国)有限公司 | 将桌面应用转换为网络应用的方法和系统 |
CN102521027A (zh) * | 2011-12-02 | 2012-06-27 | 华中科技大学 | 虚拟桌面系统中的窗口界面传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313545A1 (en) * | 2007-06-13 | 2008-12-18 | Microsoft Corporation | Systems and methods for providing desktop or application remoting to a web browser |
-
2012
- 2012-10-12 CN CN201210388420.2A patent/CN102929610B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540815A (zh) * | 2008-03-19 | 2009-09-23 | 佳能株式会社 | 信息处理装置、图像处理装置、图像处理系统及图像处理方法 |
CN101996093A (zh) * | 2009-08-10 | 2011-03-30 | 日电(中国)有限公司 | 将桌面应用转换为网络应用的方法和系统 |
CN102521027A (zh) * | 2011-12-02 | 2012-06-27 | 华中科技大学 | 虚拟桌面系统中的窗口界面传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102929610A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2008141281A (ru) | Способ потребления разнородных услуг на разнородныхустройствах, используя скриптовые плагины | |
US8578010B2 (en) | Methods and system for tracking web page analytics | |
US7908317B2 (en) | System and method for URL compression | |
CN107103233B (zh) | 用于基于动态域的隔离的技术 | |
US20070124506A1 (en) | Systems, methods, and media for dynamically generating a portal site map | |
Yang et al. | A cloud architecture based on smart home | |
CN104965691A (zh) | 配置网页页面的页面元素的方法、装置及系统 | |
CN1261699A (zh) | 共享浏览器的方法和装置 | |
US20090259945A1 (en) | System and method for generating web based multi-tier, wiki-based control panels | |
CN106464584B (zh) | 根据程序设计接口提供路由器信息 | |
KR101520751B1 (ko) | 통신 네트워크 내에서 사용자들이 브라우징하는 동안 사용자들을 모니터링하기 위한 방법 및 서버 | |
CN103577427A (zh) | 基于浏览器内核的网页爬取方法、装置及包含该装置的浏览器 | |
RU2005115570A (ru) | Представление слитного вида ярлыков на удаленные приложения от множества поставщиков | |
WO2010017680A1 (zh) | 一种网络域名的解析方法 | |
CN102929610B (zh) | 一种基于vnc和jnlp协议实现远程桌面的方法 | |
US6865732B1 (en) | Providing an embedded application specific web server | |
CN102624918A (zh) | 一种基于url重写技术的代理访问方法 | |
US20100229081A1 (en) | Method for Providing a Navigation Element in an Application | |
CN107463453A (zh) | 同一终端不同应用间通信的方法、装置、设备和存储介质 | |
CN108737471B (zh) | 一种网络访问方法及装置 | |
CN101894059A (zh) | 一种运行状态的检测方法及系统 | |
CN111934940B (zh) | 配置化的服务请求方法及装置、电子设备和存储介质 | |
CN100405760C (zh) | 从具有网关的服务环境提供Web服务的方法和系统 | |
CN201266950Y (zh) | 一种面向电力市场交易用户网路服务的Web服务应用系统 | |
CN1492652A (zh) | 以电话号码寻址,创建、管理、发布、访问网页的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170213 Address after: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant after: Zhengzhou Yunhai Information Technology Co. Ltd. Address before: 250014 Shandong Province, Ji'nan City hi tech Development Zone, Nga Road No. 1036 Applicant before: Langchao Electronic Information Industry Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |