需求:
因为不准使用windows自带的共享功能(包括共享打印、共享硬盘、共享桌面等等),相关的端口全部关闭;
但是基层一线有共享打印机的需求,想用程序去实现,只要使用和windows默认的端口不一样的端口进行通讯就可以了。
简而言之:用程序实现“到其他机子上打印”这个功能。
目前的思路:
设计一个客户端程序,一个服务端程序。服务端电脑物理连接打印机A。
客户端和服务端都安装打印机A的驱动。
客户端使用socket套接字与服务端通讯,客户端打印的时候,使用本机安装的打印机A的驱动,正常打印,客户端的程序接收到打印机A的任务,将本机打印文件夹(windows\system32\spool\PRINTES)z的文件向服务端传送,服务端收到打印命令和打印内容,执行客户端的打印任务。
问题:
目前的思路,有两个细节想不到怎么实现:
1、客户端如何判断打印机A有任务,而不是本机的其他打印机有任务?
2、服务端收到打印命令后,如何向打印服务传送任务?
如有更好的思路,望不吝赐教。