修改一个JAVA源程序,使它能扫描指定IP的主机的UDP端口

修改一个JAVA源程序,使它能扫描指定IP的主机的UDP端口,第1张

单线程的

import java.net.*

public class UDP

{

public static void main(String args[])

{

for (int port=0port<=65535port++) {

try {

DatagramSocket server=new DatagramSocket(port)

server.close()

}

catch(SocketException e) {

System.out.println("UDP端口"+port+"开放!")

}

}

}

}

希望能够帮助到你,望采纳!

javaain may be a powerful solution you can go to gnome sk to download the newest package  JavaTwain version is a part of the Morena Framework now  below is an simple example: /* * $Id: ExampleShow java v / / : : mmotovsk Exp $ * * Copyright (c) Gnome spol s r o All Rights Reserved * * This sofare is the confidential and proprietary information of * Gnome spol s r o You shall not disclose such Confidential * Information and shall use it only in accordance with the terms * of the license agreement you entered into with Gnome */// JavaTwain package version /**  ExampleShow demonstrates how to scan an image using defaults from the Twain source <BR>*/import java awt *import java awt event *import SK gnome ain *public class ExampleShow extends Frame{ Image image public void paint(Graphics g){ if (null!=image) g drawImage(image this) }WindowListener windowAdapter=new WindowAdapter() { public void windowClosing(WindowEvent e){ System exit( )} }public ExampleShow() { try{ addWindowListener(windowAdapter) setTitle( ExampleShow Frame Application ) // Open AIN select source dialog box // and initialize the source selected by the user  TwainSource source=TwainManager selectSource(null) image=Toolkit getDefaultToolkit() createImage(source) // wait for the image to be pleted MediaTracker tracker=new MediaTracker(this) tracker addImage(image ) // this is the moment the scanner user interface pops up System err println( Start loading image ) try { tracker waitForAll() } catch (InterruptedException e) { System err println( Image loading was interrupted! )e printStackTrace() } tracker removeImage(image) System err println( Image loaded ) setSize(image getWidth(this) image getHeight(this)) setVisible(true) TwainManager close()}catch (TwainException e){ e printStackTrace()} }public static void main(String[] args) { new ExampleShow() }} lishixinzhi/Article/program/Java/Javascript/201311/25319

1。先搞清楚要在哪种类型的程序中调用扫描仪

如果开发的程序是java application或者基于 swing的程序,可以算作是单机或者 c/s架构的程序,applet和java fx技术也可以这么算,因为都是直接通过java程序去 *** 控扫描仪设备。

如果是基于浏览器的应用,即b/s架构的程序,扫描图像的工作是在客户端完成的,这种情况下Java程序其实是接收和保存扫描仪读取的图像结果,并不需要直接的控制扫描仪工作,这一点上和c/s架构的程序有本质的区别。

2。架构与技术应用

2.1 c/s架构程序的扫描仪调用

c/s架构需要通过java代码直接 *** 控扫描仪设备,java语言本身被设计为跨o/s平台,对特定平台的硬件 *** 控能力有限,因此需要借助外部技术实现扫描仪控制调用,可以通过jni(java原生应用程序接口) 技术去实现扫描仪调用,具体的细节实现就是jni中定义扫描仪 *** 作方法,如scan()等方法,然后使用javah生成c语言的.h头文件,然后使用vc等编程语言去实现jni接口方法。

在windows平台和mac平台上面, *** 作扫描仪都可以通过twain协议

总之c/s架构的java程序调用扫描仪通过jni+twain编程既可完成。

2.2 b/s架构程序的扫描仪调用

b/s架构的扫描仪调用在前面已经提到过,java程序实现上做的事情是接收扫描结果图像数据 ,例如在struts2的 action中或者jsp/servlet等等程序中接收扫描仪图像扫描结果,真实的客户端扫描仪调用应该借助客户端技术去实现。

在Linux中的Mozilla浏览器中如何调用扫描仪扫描图像呢?这个着实是个难题,需要做Mozilla的插件才可以,但是在windows平台有ActiveX技术供程序员使用,因此浏览器是在windows平台中的话借助Activex技术即可扩展浏览器能力。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12075563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存