b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

applet数字签名_java applet读取mysql_软件数字签名(2)

电脑杂谈  发布时间:2017-03-06 20:03:04  来源:网络整理

(三) Java Windows串口编程简介

Java的IO操作有先天的优势,Java的IO操作是Java的核心之一,串口通讯作为Java IO操作中的一种,已经被封装的非常良好,使用Java进行串口通讯,程序员的工作变得非常简单。

Java进行串口通讯,可以归结成为以下5个过程:

1、 得到串口

2、 OPEN串口

3、 设置串口

4、 得到输入(输出)流,通过流操作,进行串口通讯

5、 CLOSE串口

串口操作包位于comm.jar,这个一个扩展的java包,在标准的JDK中并没有包含这个包,需要额外下载,另外,Java串口通讯还需要用到win32com.dll,在Sun下载comm.jar时,会包含这个dll。

串口通讯的5个过程,在Java 代码中,实现如下:

//第一步:获取串口

CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("COM1");

//第二步:OPEN串口

SerialPort serialPort = (SerialPort)portId.open("Serial_Communication", 2000);

//第三步:设置串口

serialPort.setSerialPortParams(

9600,

SerialPort.DATABITS_8,

SerialPort.STOPBITS_1,

SerialPort.PARITY_NONE);

//第四步:获取IO流,进行流操作

InputStream is = serialPort.getInputStream();

……

//第五步:关闭串口

serialPort.close();

Java串口通讯的资料在Internet中可以找到很多,本文的重点不在于此,各位需要了解更多这方面的资料,可以在Internet中得到。

(四) Applet Javascript实现细节

根据以上的描述,来看看实现的细节:

串口通讯有个特点,连接上去以后,它发送过来的信息,程序是不知道什么时候是结束的,因为连接上串口以后,串口的输入输出流一直是间断进行数据传送的,永远没有结束(代码中就是InputStream.read()永远不会有-1),除非人为中断它,否则它一直保持连接。如果只有在Applet的主线程中进行串口通讯,那么输入输出流操作永远也不能退出,其他代码永远也没有机会运行。最好的办法是使用多线程(多线程有是Java的另外一个核心优势,现在是越来越喜欢Java了),在Applet的主线程中启动工作线程,该线程专门负责读串口信息,把读到的信息送到Applet的属性msg中,msg将被javascript读走。另外,javascript可以和applet通讯,但applet不能和javascript通讯(我目前的理解是如此,不知道有没有错误?),所以,applet是否读到信息,不能主动通知javascript,必须由javascript每隔一段时间来查看,在applet中设置一个布尔变量ready,javascript每隔一定的时间就来查看该变量,如果为真,则表示applet又读到了一个输入信息,此时,javascript可以拿走该信息,并把ready属性更新为false,以免javascript下次查看applet时,又把已读过的信息读出。

根据细节描述,代码实现就很容易了,先来看看Applet代码,Applet代码包含2个Java类:LocalFileApplet和JobThread,前者为Applet主程序,后者为工作线程。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36137-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...