话说这个在线编译系统我不是原创,也是看到一位牛人做的,心血来潮依葫芦画瓢做了一个,其实这个并不是真的云平台,形似而已,也就是远程桌面 Web 连接。
好了开始步骤。
需要平台windows2003操作系统,最好是用虚拟机的,比较安全一点。操作系统尽量干净,不好安装太多的第三方软件(例如QQ,迅雷,pps等)。
需要的工具VMWARE 这个太大了,需要590MB,就请大家网上搜一下了,不难找。
Windows 2003 SP1 VOL MSDN 简体中文企业版.ISO 这个也需要590MB左右,也请大家网上搜一下,有SP2的就下载,不然安装了SP1的还要下载300MB的SP2补丁
tswebsetup.zip(web远程服务端)
aws.rar (和IIS功能一样但是比IIS方便,你也可以选用IIS)
软件平台准备全了后,安装tswebsetup,然后打开tsweb目录(修改default.html)
| 如果正在连接的计算机不属于局域网,则您可能要指定该计算机的完全合格的域名。 |
一个问题是:如果不是标准的3389端口,该怎么连接呢?
我们知道,在非Web方式,可以直接在服务器名称后面加端口就可以比如:localhost:3389
我们在Web方式能不能呢?答案是,目前是不能的。
那么,有没有什么方法呢?
当然有,只要修改Web 页面Html文本就可以做到。
我查到资料:
有MsRdpClient.AdvancedSettings2.RDPPort 这么一个属性,所以,我们只要把服务器名称里面的端口部分拆分出来,单独赋值给这个属性就OK了。
通过观察代码,我们找到了sub BtnConnect这函数,加入这么一段:
Dim Port
'Port
if InStr(serverName,":")=0 then
'没有输入端口
Port=3389
else
Dim arr
arr = Split(serverName,":")
serverName = arr(0)
Port = arr(1)
end if 还有赋值一段:
MsRdpClient.AdvancedSettings2.RDPPort = Port最终修改完之后的函数完整代码是这样的:
sub BtnConnect
Dim serverName
'server
if not Document.all.Server.value = "" then
serverName = Document.all.Server.value
else
serverName = Document.location.hostname
end if
Dim Port
'Port
if InStr(serverName,":")=0 then
'没有输入端口
Port=3389
else
Dim arr
arr = Split(serverName,":")
serverName = arr(0)
Port = arr(1)
end if 
serverName = trim(serverName)
'MsgBox(Port)
'MsgBox(serverName )
On Error Resume Next
MsRdpClient.server = serverName
If Err then
msgbox L_InvalidServerName_ErrorMessage,0,L_RemoteDesktopCaption_ErrorMessage
Err.Clear
exit sub
end if
On Error Goto 0
'serverName name text
Document.all.srvNameField.innerHtml = serverName
'Username/Domain
if Document.all.CheckBoxAutoLogon.checked then
MsRdpClient.UserName = Document.all.UserName.Value
MsRdpClient.Domain = Document.all.Domain.Value
end if
'Resolution
MsRdpClient.FullScreen = FALSE
select case document.all.comboResolution.value
case "1"
MsRdpClient.FullScreen = TRUE
resWidth = screen.width
resHeight = screen.height
case "2"
resWidth = "640"
resHeight = "480"
case "3"
resWidth = "800"
resHeight = "600"
case "4"
resWidth = "1024"
resHeight = "768"
case "5"
resWidth = "1280"
resHeight = "1024"
case "6"
resWidth = "1600"
resHeight = "1200"
end select
MsRdpClient.DesktopWidth = resWidth
MsRdpClient.DesktopHeight = resHeight
MsRdpClient.Width = resWidth
MsRdpClient.Height = resHeight
'Device redirection options
MsRdpClient.AdvancedSettings2.RedirectDrives = FALSE
MsRdpClient.AdvancedSettings2.RedirectPrinters = TRUE
MsRdpClient.AdvancedSettings2.RedirectPorts = FALSE
MsRdpClient.AdvancedSettings2.RedirectSmartCards = FALSE
MsRdpClient.AdvancedSettings2.RDPPort = Port
'FullScreen title
MsRdpClient.FullScreenTitle = L_FullScreenTitle_Text & "(" & serverName & ")"
'Display connect region
Document.all.loginArea.style.display = "none"
Document.all.connectArea.style.display = "block"
'Connect
MsRdpClient.Connect
end sub修改完后,在路由器映射相应的端口即可。
会的可以跳过,映射方法网上有太多,这里就不啰嗦了。本次教程需要用到的端口只有两个web端口(默认80),远程登录端口(默认3389,你自己在Default中设置的Port=3389参数)
到这里可以测试下外网可否正常访问你的页面,如果你是动态IP,建议你用花生壳、金万维之类的玉米绑定工具。
如果可以正常访问,请继续下一步。
增加终端服务授权激活,因为默认远程登录用户只能是2个,通过授权可以增加访问人数。具体设置方法请参照2000/2003终端服务授权激活。
设置成功后,就可以创建远程用户了,把用户加入Remote Desktop Users组。
在用户属性的会话中设置 结束已断开的会话 建议15分钟,活动会话限制 建议从不,空闲会话限制 建议5分钟,达到会话限制,或者连接被中断时:建议结束会话,允许重新连接:建议仅来自起始客户端。
在终端服务配置中选择 RDP-Tcp 中选择登录设置 选中总是使用下列登录信息输入你创建的用户信息。在环境中选择用户登录时启用下列程序,路径设置为你VB或者其他编译器的安装路径。
到这里就算基本配置完成了。但是这样会有很多不安全因素,有很多漏洞,需要你自己去发现去弥补。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。