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 看。
在需要服务的时候,打开网页,请求反向连接
![](/static/upload/old_blog/attachments/month_1208/t201281612528.png)
在client 端执行监听,我采用ultra vncviewer.
![](/static/upload/old_blog/attachments/month_1208/y201281612239.png)
监听到 server 的反向连接,自动启动查看远程桌面。
![](/static/upload/old_blog/attachments/month_1208/p201281612348.png)
然后,就可以控制远端电脑,进行操作。
整个工程在 Eclipse 下调试,applet 应用程序。
所有代码,提供下载,软件界面如下:
![](/static/upload/old_blog/attachments/month_1208/g20128161222.png)
二进制打包下载:
点击下载此文件
源代码:
点击下载此文件
如果是源代码,自己达成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 看。
在需要服务的时候,打开网页,请求反向连接
![](/static/upload/old_blog/attachments/month_1208/t201281612528.png)
在client 端执行监听,我采用ultra vncviewer.
![](/static/upload/old_blog/attachments/month_1208/y201281612239.png)
监听到 server 的反向连接,自动启动查看远程桌面。
![](/static/upload/old_blog/attachments/month_1208/p201281612348.png)
然后,就可以控制远端电脑,进行操作。
整个工程在 Eclipse 下调试,applet 应用程序。
所有代码,提供下载,软件界面如下:
![](/static/upload/old_blog/attachments/month_1208/g20128161222.png)
二进制打包下载:
点击下载此文件
源代码:
点击下载此文件
如果是源代码,自己达成JAR包,要做成能在网页中运行的applet ,还需要参考这篇文章:
http://www.yihaomen.com/article/java/206.htm
From:一号门
Previous:python登陆网站,python urllib2 登陆网站
Next:python 正则表达式,个人阶段总结
COMMENTS