首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器生成的打印打印到最接近用户的打印机

服务器生成的打印打印到最接近用户的打印机
EN

Stack Overflow用户
提问于 2009-10-01 13:27:38
回答 2查看 293关注 0票数 0

我们有一个SAAS应用程序,其中在应用服务器上生成报告和其他打印作业,然后将其发送到CUPS打印队列。队列通过IP打印打印到客户端站点的打印机;到目前为止,一切工作正常。

然而,我们对新客户有了新的要求。他们希望打印作业打印到最靠近当前使用的工作站的打印机。这些是一组8个共享工作站,每个工作站附近有两台打印机:一台激光打印机和一台热敏标签打印机。打印机连接到网络,并具有自己的IP地址。它们支持IP打印。

因为用户进来时只是选择了一个开放的工作站。我们不能把打印机和用户联系起来。我们如何识别工作站并映射其附近的打印机。一旦我们标识了一个工作站,就可以创建一个数据库表,将其存储在我们可以查询的打印机附近,这很容易,但是我们如何标识这个工作站呢?

饼干?如果他们删除了所有浏览器历史记录,会发生什么?其他想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-01 20:37:03

如何使用此技术通过JavaScript获取客户端的IP地址,然后将其发送回服务器:

http://www.gnucitizen.org/projects/javascript-address-info/

然后,您可以将IP映射到NAT上的端口,并具有唯一的映射。他实际上描述了一个与你非常相似的问题。

票数 0
EN

Stack Overflow用户

发布于 2009-10-01 15:18:06

也许我误解了这一点,但根据我所读到的,一旦你识别出工作站,你就可以建立附近打印机的静态地图?如果是,为什么不使用工作站的IP作为标识符。从HTTP请求中读取它应该是直接的。

至于一个更具异国情调的解决方案。如果您的网络设置相当正式,因为附近的那些打印机可能共享一个公共路由器/交换机,那么您可以跟踪从SAAS服务器到工作站(1),然后再到每台打印机(2)的路由。然后匹配(1)和(2),并找到与最终IP的开关最近的打印机,这将为您提供最近的打印机。

假设工作站A和打印机A距离最近,它们连接到交换机B,而交换机B通过几跳连接到交换机C,这也是您的服务器连接的位置。

(1)应该是这样的:

代码语言:javascript
复制
Hop 1: Server IP 
Hop .....
Hop 2: Switch M
Hop .....
Hop n-1: Switch A
Hop m: Workstation A

(2)中的一台路由器应共享最后两跳

代码语言:javascript
复制
Hop n: Switch A
Hop m: Workstation A

因此,以打印机为例,其中m-n是最小的数字。

我当然会选择静态IP到打印机的解决方案,因为它很简单,但如果这不是一个选择,那么后者可能是。但这只有在网络设置足够大和足够正式的情况下才能实现。

HTH Alex

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1503962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档