IIS5.1在Windows XP虚拟机上Perl脚本和exe cgi-bin配置要点

1- Windows XP虚拟机网络配置

选用桥接方式,配置好的虚拟机和宿主机在同一网段,各自有不同的IP地址,或曰虚拟机和宿主机可视做同网段的两台不同机器。

2- 填好登录名和密码,可配置为自动登录。

3- 分辨率可设置更高,DPI设置150%,让字体足够大、足够清晰。

4- 自动快照,当前位置损坏时可从快照中恢复

另外,如果没做快照虚拟机不能启动的话,可再建一个虚拟硬盘,在新盘上做系统,将旧硬盘也挂上去,这样新的虚拟机有两块硬盘,新盘启动后应该能看到旧盘上的数据仍在。

5- 开机自动启动虚拟机

做个快捷方式,虚机vmx用vmware加 -x 自动启动XP虚拟机。

"C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x "K:\Vmware Hosted OSes v16.0\XPwith(WB-QCWIN-wheel-delphi-vb-vc-7z)\Windows XP Professional.vmx"

6- 安装微软 4.12 版本的鼠标驱动激活滚轮

7- 安装Mypal或k-melon浏览器

这两款浏览器对现在的网页支持比较好,如今(2003.10.30)仍可以正常上网。

8- 启用XP自带的IIS5.1,亦可安装独立的IIS5.1

9- 配置站点属性

IP= 192.168.3.116, 测试可用自动获取得到的这个IP; 端口号 88;创建好后,在防火墙上增加例 外,放行88号端口,否则不能访问。

10- 配置perl脚本cgi-pl

创建cgi-pl目录,其属性页的映射中,填perl执行文件、后带两个 %s %s,参数间加空格,扩展名填.pl,即目录中所有以.pl结尾的文件都用perl.exe解释,其它脚本参照配置。

11- VBscript和ASP配置

ASP默认是配置好的,如果没有选择版本,选定版本即可。VBscript不需要另外配置。ASP用<%和%>括起来,vbscript直接在之中写,如果是browser端执行,则用document.write; 如果是在server端执行,则用response.write,现在浏览器 browser 端已经不支持vbscript了,只能在server端用。

<html>
<head>
<title>Test VBscript</title>
</head>
<body>

<%
    dim a, b
    a = "<h1>Good!</h1>"
    b = "<h1>This is my first VBScript!</h1>"
    response.write(a)
    response.write(b)
%>

</body>
</html>

12- cgi-bin可执行文件网关配置

不需要配置,赋予目录脚本或程序可执行权限即可。可以用VC6的console方式编程,读web的环境变量 getenv("QUERY_STRING"),得到混编的参数,用sscanf可以分离出单独的参数,然后对参数处理,再用printf返回给浏览器即可。

13- 对websocket的支持

现在的浏览器html5已经普及了,普遍使用websocket在javascript下编程,这要求server端支持socket,简单实现的方法是外挂一个 socket server,可在sourceforge或github上下载一个 websocketd.exe,它是console方式的exe程序,有linux, bsd, solaris, windows i386, windows x64等各种版本。

在XP虚拟机的DOS prompt下执行 websocketd --port=81 --address=192.168.3.116 myapp.exe,在192.168.116:81上建ws服务。

比如,vc6写的myapp.exe如下

#include <stdio.h>
#include <windows.h>

int main(int argc, char* argv[])
{
long counts=0;
while(1) {
	Sleep(1);
	printf("%s %d\n","Hello from Sserver!", counts++);
	if (counts>70000) {counts=0;}
}
	return 0;
}

浏览器端机器IP是 192.168.3.113,写如下代码,在浏览器可以看到server发送的连续不断的变化数据。

<!DOCTYPE HTML>
<html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   <title>wstest</title>
   </head>
   <body>
<p id="showtag"></p>
<script type="text/javascript">
	var ws = new WebSocket('ws://192.168.3.116:81/');
	ws.onmessage = function(event) {
	console.log('Count is: ' + event.data);
	//document.write(event.data);
	document.getElementById("showtag").innerHTML=event.data;
	};
</script>
        
   </body>
</html>

如果在工控机上使用XP或WIN7做数据采集处理,用websocket方式显示还是比较方便的,原来开发的程序也不用大改动。浏览器发送数据用 [socket].send, 接收数据用 [socket].onmessage;应用程序端用 STDIN 接收数据, 用STDOUT返回数据。

相关推荐
半桶水专家2 小时前
用go实现创建WebSocket服务器
服务器·websocket·golang
FeelTouch Labs2 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
代码魔法师Sunny3 天前
4.WebSocket 配置与Nginx 的完美结合
websocket·网络协议
kunkun1013 天前
关于Websocket
网络·websocket·网络协议
flying robot4 天前
websocket的使用
websocket
azheng2225 天前
WebSocket消息帧的组成结构
websocket
._Ha!n.5 天前
WebSocket实现消息实时推送
网络·websocket·网络协议
蜀中孤鹰6 天前
由浅入深逐步理解spring boot中如何实现websocket
spring boot·后端·websocket
测试界的酸菜鱼6 天前
C# 如何处理 WebSocket 连接异常
开发语言·websocket·c#
布兰妮甜6 天前
WebSocket详解:从前端到后端的全栈理解
前端·websocket·网络协议