拨号上网远程桌面连接

家里用的联通ADSL,开机自动拨号,操作系统win7x64,开机自动登录。所以只要家里不断电我就可以在公司随时通过远程桌面连接家中笔记本,唯一需要解决的问题就是动态IP问题,因为可能掉线或者出现其他状况。

现在这个问题已经完美解决了,我在公司重启家里的笔记本之后照样可以连接。

首先需要获取公网IP,如果自己有服务器或虚拟主机可以自己写程序获取,没有的话抓取www.ip138.com显示的ip就可以。我这里都有所以两种方式我都用上了。我经常用百度网盘在公司电脑和家里电脑同步一些内容,所以获取的ip写到同步目录中就可以了,我这还有备用方法,通过get方式传到我网站上。

现在用PHP实现这个东西,具体内容如下:

创建一个ip.bat脚本放到开机启动里,内容如下
ip.bat

php D:\software\BigTools\PHP\pushIp.php

pushIp.php

<?php
$ipPattern="(\d{1,3}\.){3}\d{1,3}";
$c=0;
while(true){
	preg_match("/您的IP地址是:\[({$ipPattern})\]/",curl_get("http://ip138.com/ips138.asp"),$match);
	$ip=$match[1];
	if(!preg_match("/^{$ipPattern}$/",$ip)){
		//从自己的网站获取IP
		$ip=trim(curl_get("http://yoursite.com/myIp.php"));
	}
	file_put_contents("D:\backup\百度云\ip.txt",$ip);
	curl_get("http://yoursite.com/ip.php?ip=".$ip);
	echo $c++."\n";
	sleep(60);
}
function curl_get($url){
	$ch=curl_init();
	$opt=array();
	$opt[CURLOPT_URL]=$url;
	$opt[CURLOPT_HEADER]=false;
	$opt[CURLOPT_CONNECTTIMEOUT]=15;
	$opt[CURLOPT_TIMEOUT]=300;
	$opt[CURLOPT_AUTOREFERER]=true;
	$opt[CURLOPT_USERAGENT]='Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11';
	$opt[CURLOPT_RETURNTRANSFER]=true;
	$opt[CURLOPT_FOLLOWLOCATION]=true;
	$opt[CURLOPT_MAXREDIRS]=10;
	curl_setopt_array($ch,$opt);
	return curl_exec($ch);
}

http://yoursite.com/ip.php

<?php
$ip=$_GET['ip'];
file_put_contents('ip.txt',$ip);

222
下面这张图是公司电脑连接家中笔记本,2M 联通ADSL网络质量嗷嗷好,操作非常流畅,就像在家里操作一样,爽歪了
11

 

另外TeamViewer是一个非常稳定的远程桌面软件,功能也更强大,文件传输是两台机器直接通信而不经过服务器。没有验证其他通信是否经过服务器中转。TeamViewer可以跨平台和跨设备,可以说是chrome remote desktop的一个强化版本。
http://www.teamviewer.com/

 

另外,google有一个很牛的东西,chrome remote desktop,这是一个chrome插件17MB左右,可以再任意两台安装了chrome和这个插件的机器上实现远程桌面,需要有google的账号,而且性能非常好,经过测试所有数据传输和控制信号传输都需要google服务器中转,有如此性能实在让人惊讶。

chrome remote desktop可以跨平台,而且可以穿透任何类型的网络(因为有google服务器进行中转),和windows remote desktop相比性能好不少,缺点就是没有本地资源和设备共享,并且稳定性比较差,我测试的时候掉过几次,windows远程桌面从来没有掉过。

2013-01-11_144633

点击share按钮生成一个共享码,这是被控端机器
2013-01-11_144820

主控端点击访问输入共享码
2013-01-11_144958

然后浏览器中就有远程桌面了,屏幕选项里选择原始大小,否则屏幕比较模糊。远程桌面中的操作和被控端是完全一致的,再次赞叹一下性能真高。
2013-01-11_145148

运行全屏游戏有些问题,可能跟显卡有关,因为远端机器是双显卡自动切换。
2013-01-11_145757

发表评论

电子邮件地址不会被公开。

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.