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返回数据。

相关推荐
AD钙奶-lalala4 天前
SpringBoot实现WebSocket服务端
spring boot·后端·websocket
wow_DG4 天前
【WebSocket✨】入门之旅(五):WebSocket 的安全性
网络·websocket·网络协议
往事随风去4 天前
别再纠结了!IM场景下WebSocket和MQTT的正确选择姿势,一文讲透!
后端·websocket·架构
郝亚军5 天前
websocket 服务器往客户端发送的数据要加掩码覆盖吗?
服务器·网络·websocket
威斯软科的老司机5 天前
WebSocket压缩传输优化:机器视觉高清流在DCS中的低延迟方案
网络·websocket·网络协议
木头左5 天前
讯飞星火大模型Spark4.0Ultra的WebSocket交互实现解析
websocket·网络协议·交互
paopaokaka_luck5 天前
绿色环保活动平台(AI问答、WebSocket即时通讯、协同过滤算法、Echarts图形化分析)
java·网络·vue.js·spring boot·websocket·网络协议·架构
wow_DG5 天前
【WebSocket✨】入门之旅(三):WebSocket 的实战应用
网络·websocket·网络协议
齐穗穗5 天前
springboot集成websocket
spring boot·后端·websocket
千鼎数字孪生-可视化6 天前
WebSocket实时推送技术:PLC状态监控大屏的高效实现路径
网络·websocket·网络协议