打印机状态监控 Adobe AIR 桌面应用程序

3
想要一个平台无关的桌面应用程序,用于检查网络打印机的墨盒/碳粉盒水平并通知用户状态,同时给予用户请求购买低墨盒的选项。
目前我收到的信息是,我们需要从SNMP支持的打印机的MIB文件中获取OID的值。我希望这个应用程序尽可能地通用,适用于所有品牌,但今天的需求尤其是针对Brother打印机和多功能一体机。
抱歉看起来像个新手,但我已经搜索了很多,没有太多信息可用。
我是否可以使用制造商提供的本地支持和监视工具,因为Brother提供了安装在桌面上的监控实用程序(在这种情况下,MIB文件将位于哪个设备或已安装的程序内?)或者需要使用像icanga、negios等网络监视工具。
其次,如何在AIR上实现它。我第一次考虑使用AIR,并想知道它是否有帮助,我是否需要在进行之前更多地了解这项技术。
有一些可用的网络监视工具,如negios和Icinga,甚至可以安装在桌面上。这些数据是否可以被解析并使用。我们需要它用于Brother打印机,但希望根据MIB文件的文档格式,为多生产厂家解决方案实现它已成为标准。即使一年后它仍然是通用的,我们也将投入时间,因为对于单个制造商来说不值得。
以下是我认为在Net-SNMP中有用的CLI,并相信通过调用这些应用程序的外部脚本(AIR),可以使我输出。 - 在MIB OID的数字和文本形式之间转换,并显示MIB内容和结构(snmptranslate)。 - 一个使用Tk/perl的图形MIB浏览器(tkmib)。 - 用于接收SNMP通知的守护进程应用程序(snmptrapd)。可以将选定的通知记录(到syslog、NT事件日志或纯文本文件),转发到另一个SNMP管理系统,或传递给外部应用程序。 - 用于响应管理信息的SNMP查询的可扩展代理(snmpd)。这包括对广泛的MIB信息模块的内置支持,并可以使用动态加载的模块、外部脚本和命令以及SNMP多路复用(SMUX)和代理扩展性(AgentX)协议进行扩展。
是否有API可读取AIR中的MIB文件。
如果有任何链接或其他附加信息,将不胜感激。

1
你的意思是SNMP而不是SMTP,对吗? - nwellnhof
1个回答

3

对于不支持SNMP的打印机,您可能需要实现一种特定于制造商的解决方案。如果您想编写一个可以与支持SNMP的打印机通信的AIR应用程序,我可以看到以下几种方法:

在ActionScript中实现SNMP客户端

由于SNMP通常基于UDP,因此您可以使用flash.net.DatagramSocket在AIR中实现自己的SNMP客户端。据我所知,没有现成的ActionScript库,因此您需要专业的SNMP协议知识和大量开发时间。

编写AIR本机扩展

使用本机扩展(ANE),您可以在C/C++中实现SNMP客户端。这样做的好处是您可以使用像Net-SMTP这样的开源库来完成繁重的工作,但是您仍然需要一些经验来开发和构建C/C++库。

使用命令行工具

最简单的解决方案可能是使用Net-SMTPSnmpSoft中的免费SNMP命令行实用程序之一。您只需要使用flash.desktop.NativeProcess调用其中一个程序并提供正确的参数,然后解析输出即可。


你为什么要读取MIB文件?你可以在AIR应用程序中简单地硬编码OID。你可以在这里找到Printer-MIB的OIDs:http://www.oidview.com/mibs/0/Printer-MIB.html。 - nwellnhof
是的!但是要获取OID数据。你的意思是如果我们在AIR中硬编码OID,通过SNMP可以直接从打印机获取相应OID的输出,而不需要从MIB中读取。对吗? - Diablo Geto
我更新了问题。我们应该说除了获取OID数据至少没有其他障碍。 - Diablo Geto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接