经过在网上查了些资料,终于明白了,原来是Windows操作系统搞的鬼。对于 Windows XP Professional,最多允许 10 台不同的计算机通过网络同时连接。此限制包括所有传输和共享协议的资源的组合。先连上来的打印完了之后,系统并不会自动断开连接,超过十个人以后,其他的人就没办法连上来了。
问题查清之后,解决方案就好办了。写个脚本程序定时清连接就完了,十分钟清一次连接应该是个比较科学的作法。本以为这个思路实现起来应该是比较容易的,但是查了一下资料,发现DOS命令中居然没有延时命令,不过这个难不倒咱,自己写一个就是了。具体实现方法如下:
一、延时命令
创建一个文本文件,里面写上一句话“WScript.sleep 600000”,然后保存文件为Delay.vbs。这句话的含义延时10分钟,里面的sleep命令后面的参数是以毫秒来计时的。
二、创建正式的命令,写一个DOS的批处理文件,扩展名以BAT或CMD结尾,命令的正文如下:
:Cir
net session /delete /y
start /wait delay.vbs
goto Cir
里面的命令的含义分别是:
NET SESSION /DELETE /Y 是用来清理会话的。/Y表示无须手工确认。
start /wait de
上述两个文件编写完毕后,双击后面的文件,就会自动打开一个DOS窗口,每个十分钟会自动执行一次清会话的过程。这样的话,打印的时候就再也不会报错了