网页检测不到java无法打印_如果PC连接到网络打印机,如何检查java?

根据“

How Network Printing Works”,它实际上取决于打印机的类型和它支持的协议.如果您知道打印机使用的IP和端口,并且您的打印机支持

SNMP(仅选择协议),则可以使用SNMP协议1查询打印机以获取信息. Java lib

SNMP4j可以帮助您实现这一目标.我建议不要使用它,除非打印机,IP和端口永远不会(!)更改您的设置.这是因为你可能遇到几个问题

>如何发现未知的打印机?

>如何发现打印机使用的端口?

>如何发现打印机使用的协议?

让我们假设上面的问题不是什么大问题,并假设每台打印机都支持SNMP.如何从中获取信息?除了使用上面提到的java lib之外,您还可以在终端中使用linux中的snmpget.语法如下:

snmpget -v1 -c public host-ip OID

OID是object identifier,用于打印机的每个属性,从页面计数到碳粉盒信息.如果您不添加OID,您将获得可用OID的完整列表.问题的关键在于,虽然所有OID都是标准化的,但OID的使用因品牌和打印机型号与打印机型号而异.对于我的惠普,以下作品:

snmpget -v1 -c public 192.168.1.10 iso.3.6.1.2.1.43.17.6.1.5.1.2

并返回

iso.3.6.1.2.1.43.17.6.1.5.1.2 = STRING: "Ready"

使用OID返回HP的打印机状态.但如果我在佳能上使用相同的OID,我会得到

Error in packet

Reason: (noSuchName) There is no such variable name in this MIB.

Failed object: iso.3.6.1.2.1.43.17.6.1.5.1.2

因此,它甚至不是SNMP一般适用的,也没有提到其他可用的协议.

考虑到所有这些信息,我认为最简单的方法就是检查是否可以通过此代码在其中一个通用打印机端口上建立与打印机的连接

boolean available = false;

try {

String serverAddress = "192.168.1.10";

Socket s = new Socket(serverAddress, 9100);

s.close();

available = true;

} catch (IOException e) {

available = false;

}

System.out.println("printer available: " + available);

当然,这只有在你已经知道打印机ip的情况下才有效.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

空投坐标怎么看6_嗦粉不咯?桂林米粉店将分三四五星级,你怎么看? 旅行 6 月 4 日热点速递...

吃货们请听好,以下内容可能与你有关~来看今日好问广西无疑是嗦粉星人的圣地,桂林米粉、柳州螺蛳粉、南宁老友粉 ...... 用手指都不够数。这不,桂林发布「米粉新政」,从 7 月起桂林米粉店划分为三星级、四星级、五星级三个等级。如…

java list应用_java中list集合的应用

java中list集合的应用 1.数组列数据的添加与删除: List list new LinkedList(); list new ArrayList(); 产生一个数组列对象并建立双向连表。 连表分为单向连表和双向连表;单向连表就像:a 只能到 b,b 不能到 c;双向连…

ubuntu 自动加载ko_开屏广告太烦人?用这个只有 2M 的 App,助你自动跳过 5 秒等待...

手机上的什么按钮会让你不假思索点击?除了抢红包,恐怕就是应用启动页的「跳过广告」了。「跳过广告」会这么容易被叉掉吗?显然,如果不够快准狠,连戳几次没反应不说,还有可能在戳偏后继续忍受广告跳转……掐…

java union pay 代码_Java标记了union / sum类型

使用一个私有构造函数创建一个抽象类,并在类中嵌套“数据构造函数”(左侧和右侧静态工厂方法),以便它们可以看到私有构造函数,但没有其他任何东西可以有效地密封类型.使用抽象方法either来模拟详尽的模式匹配,在静态工厂方法返回的具体类型中适当地覆盖.实现便利方法(如fromLef…

怎样查看cudnn版本_tensorflowGPU版本踩坑记录

终于安装完成了tensorflow,写一下过程开心的记录一下之前按照网上的教程,装了半天,下对应的cuda和cudnn,搞了半天,结果is_gpu_avaliable()函数通不过,查了半天,只找到cuda和cudnn版本不对应&…

java继承调用先后_「继承顺序」JAVA继承顺序 - seo实验室

继承顺序当使用继承这个特性时,程序是如何执行的;继承的初始化顺序1.初始化父类再初始子类2.先执行初始化对象中属性,再执行构造方法中的初始化当使用继承这个特性时,程序是如何执行的呢,也就是说我们需要关注继承的初…

手机连接蓝牙扫码枪_宝马车与手机无法蓝牙连接的技术通报

点击↑上方蓝字关注置顶,懂车,更懂宝马!故障现象:手机电话与车辆无法连接,故障信息显示“设备无法连接”,诊断时输出故障代码:B7F8BB - “无法启动蓝牙”。涉及车型:F40G02 G05 G06 …

gdb tui 安装_GDB 单步调试汇编

之前在看汇编的时候一直是肉眼看GCC -S的结果,缺点是很不直观,无法实时的看到寄存器的值,所以研究了下如何用GDB调试汇编。当然,写这篇文章更重要的一个目的是半年没有写博客了,博客要长草了。^_^调试汇编的需求有几点…

java中的异常处理语句_Java中实现异常处理的基础知识

Java中实现异常处理的基础知识异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。例如:数组越界和被0除。源代码示例:packageyanzheng;//…

改变numpy的大小_Numpy入门详细教程

序言:python数据科学基础库主要是三剑客:numpy,pandas以及matplotlib,每个库都集成了大量的方法接口,配合使用功能强大。平时虽然一直在用,也看过很多教程,但纸上得来终觉浅,还是需要…

java消息失败重发_JMS消息在JMS侦听器中重新发送异常

Javadoc为 org.springframework.jms.listener.AbstractMessageListenerContainer 表示,如果“sessionAcknowledgeMode”设置为“CLIENT_ACKNOWLEDGE”:成功侦听器执行后自动确认消息;如果抛出异常,则无法重新发送 .我猜,“在抛出异…

九年级数学解方程50道_初中数学公式中考知识点总结,初三数学上册,九年级数学上册...

初中数学公式中考知识点总结,初三数学上册,九年级数学上册第二十一章 一元二次方程知识点:一元二次方程的解法1、直接开平方法利用平方根的定义直接开平方求一元二次方程的解的方法叫做直接开平方法,2、配方法配方法是一种重要的数…

java时间规划书_【计算机本科补全计划】Java学习笔记(九) Java日期时间

正文之前终于好像仿佛看完了菜鸟教程的Java课程,感觉自己收获颇丰!很好,Java看完之后正愁如何开始进阶呢!结果发现菜鸟还准备了Java实例这种好东西!简直就是教程界的良心啊 !!!没事&…

与40mhz信道不兼容设置_为什么面包板不适合高频电路

01为什么在面包板上玩射频?方便,当然还是方便。面包板是进行一些电子线路实验构建电路方便的平台。多用于普通数字电路和模拟电路。一旦涉及到高频电路,面面包就有很多方面不太适合了。那么到底哪方面不适合?对于高频信号在面包板…

mysql 主表存hash和子表的名字_【mysql】mysql分表和表分区详解

为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性…

加载gif_搞笑gif:这啥情况啊?笑容加载不出来了?

这无故的小眼神,我也很无奈呀。。。猫和狗对峙,气势上一定不能输几个菜呀,喝成这样!这啥情况啊?笑容加载不出来了?高手在民间!小青年瞬间变老头!丈母娘来家了,说下班就能…

马匹赛跑java_java模拟龟兔赛跑

通过使用 java 中 Jlabel,Jbutton,JtextArea,JcomboBox 等 swing 组件来实现图形用户界面,同 时通过设置布局,背景,字体等来丰富界面,最大程度的模拟龟兔赛跑的场景......2、模拟龟兔赛跑 要求: 用图形用户界面实现。 能设置比赛时间,马匹的数量等等。...3、2 目标与总体方案(1…

排序千万级数据_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...

千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议。从一开始脑海里开始也是火光四现&…

java读取rvt文件数据_Revit二次开发之隐藏API 独立进程读取rvt文件

在项目中需要读取rvt文件,但是因为该格式为非公开格式,其数据需要revit的支持,但批量读取不可能一个一个用revit软件去打开。不过该方法还是需要revit的依赖,速度比开软件快了知道多少1.1. 新建一个控制台项目1.2. 添加Revit API引…

vscode自动加前缀_详解VScode自动补全CSS3前缀插件以及配置无效的解决办法

1.在vscode中搜索Autoprofixer2.在安装完成之后要配置在需要添加前缀的css文件上,右键点击命令面板,输入Autoprefixer CSS就好啦ps: 如果想要兼容性最好的话,需要在设置配置文件setting.json里加上(打开设置->搜索autoprefixer->点击在…