java vnc reverse connection(Java vnc server 反向连接)
By:Roy.LiuLast updated:2012-08-16
VNC 是基FRB 协议而做出的一种虚拟网络连接的软件。
VNC 一般两种链接方式:
1.VNC CLIENT 连接 VNC SERVER,需要服务端有固定IP.客户端连接到VNC SERVER ,查看SERVER 桌面,控制SERVER操作等。
2.VNC SERVER 连接 VNC CLIENT,这种情况下需要客户端有固定IP,这种情况下,通常是服务端没有固定IP,客户端有固定IP,这时有固定IP的客户端处于监听,监听VNC SERVER 的反向链接. 从而 vnc client 可以查看 vnc server 的桌面,反向控制vnc server 操作等,这种情况下,就是穿透防火墙。
常用的VNC 软件:
1. ultra vnc (http://www.uvnc.com/)
2. tightvnc (http://www.tightvnc.com/)
3. realvnc (http://www.realvnc.com/)
这三种VNC 均是免费的,可以到官网下载。在上面的三种vnc 中,都提供了服务端,客户端,在windows,linux 下均有相应版本。
另外这三个 vnc 还都提供了一个 java applet 的 vncview .用于直接在网页中连接 vnc server,这对于那些没有安装桌面版本vnc clent的
用户来说是个不错的方法。实现了瘦客户端,直接打开网页,网页加载applet 就可以连接 vnc server 了。虽然实现了瘦客户端,但在用户
终端必须装JRE .
正是由于上面几个软件都只实现了 java applet 的 vnc viewer 部分,没有实现java vnc server 部分,所以才有了自己做一个的冲动。
自己的处理办法
但考虑到公司客户的需求(公司有很多客户,如果客户遇到问题,直接打开网页,网页上运行 java vnc server reverse connection,连接到
我们公司监听的vnc client 上,这样,就能看到客户的桌面。检查问题。),最终需要的是 java vnc reverse connection .因为需要穿透防
火墙。参考了sourceforge 下的一个开源VNC ,改成了现在这个样子。可以反向连接 vnc client ,把自己的桌面呈现给 client 看。
在需要服务的时候,打开网页,请求反向连接

在client 端执行监听,我采用ultra vncviewer.

监听到 server 的反向连接,自动启动查看远程桌面。

然后,就可以控制远端电脑,进行操作。
整个工程在 Eclipse 下调试,applet 应用程序。
所有代码,提供下载,软件界面如下:

二进制打包下载:
点击下载此文件
源代码:
点击下载此文件
如果是源代码,自己达成JAR包,要做成能在网页中运行的applet ,还需要参考这篇文章:
http://www.yihaomen.com/article/java/206.htm
VNC 一般两种链接方式:
1.VNC CLIENT 连接 VNC SERVER,需要服务端有固定IP.客户端连接到VNC SERVER ,查看SERVER 桌面,控制SERVER操作等。
2.VNC SERVER 连接 VNC CLIENT,这种情况下需要客户端有固定IP,这种情况下,通常是服务端没有固定IP,客户端有固定IP,这时有固定IP的客户端处于监听,监听VNC SERVER 的反向链接. 从而 vnc client 可以查看 vnc server 的桌面,反向控制vnc server 操作等,这种情况下,就是穿透防火墙。
常用的VNC 软件:
1. ultra vnc (http://www.uvnc.com/)
2. tightvnc (http://www.tightvnc.com/)
3. realvnc (http://www.realvnc.com/)
这三种VNC 均是免费的,可以到官网下载。在上面的三种vnc 中,都提供了服务端,客户端,在windows,linux 下均有相应版本。
另外这三个 vnc 还都提供了一个 java applet 的 vncview .用于直接在网页中连接 vnc server,这对于那些没有安装桌面版本vnc clent的
用户来说是个不错的方法。实现了瘦客户端,直接打开网页,网页加载applet 就可以连接 vnc server 了。虽然实现了瘦客户端,但在用户
终端必须装JRE .
正是由于上面几个软件都只实现了 java applet 的 vnc viewer 部分,没有实现java vnc server 部分,所以才有了自己做一个的冲动。
自己的处理办法
但考虑到公司客户的需求(公司有很多客户,如果客户遇到问题,直接打开网页,网页上运行 java vnc server reverse connection,连接到
我们公司监听的vnc client 上,这样,就能看到客户的桌面。检查问题。),最终需要的是 java vnc reverse connection .因为需要穿透防
火墙。参考了sourceforge 下的一个开源VNC ,改成了现在这个样子。可以反向连接 vnc client ,把自己的桌面呈现给 client 看。
在需要服务的时候,打开网页,请求反向连接

在client 端执行监听,我采用ultra vncviewer.

监听到 server 的反向连接,自动启动查看远程桌面。

然后,就可以控制远端电脑,进行操作。
整个工程在 Eclipse 下调试,applet 应用程序。
所有代码,提供下载,软件界面如下:

二进制打包下载:
点击下载此文件
源代码:
点击下载此文件
如果是源代码,自己达成JAR包,要做成能在网页中运行的applet ,还需要参考这篇文章:
http://www.yihaomen.com/article/java/206.htm
From:一号门
Previous:python登陆网站,python urllib2 登陆网站
Next:python 正则表达式,个人阶段总结
COMMENTS