MINA2.0用户手册中文版--第六章 MINA中的传输 第二节 基于串行传输

在MINA2.0中,你可以使用串行传输进行连接,就像使用TCP通信那样。

获取MINA 2.0

可以下载最新版本的的MINA版本。如果想获取其他版本的MINA,如果有什么疑问,可以查看开发者手册。

必要前提

提示信息:
如果想要通过Java程序访问串行端口,需要一个本地库(.DLL 或者 .so 取决于你的操作系统). MINA使用的是RXTX.org这个  :  ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
放置正确的 .dll 或者 .so 在JDK/JRE的  jre/lib/i386/ 路径中,或者使用-Djava.library.path= argument 专门指向本地库路径

提示信息:
所需要使用的 mina-transport-serial jar包并没有完整地 包含在发布版中。你可以从这里下载到它。

连接到串行端口

串行通信只提供了一个IoConnector接口,因为串行通信是基于点对点的,这个问题,在之前的教程中已经提起过了。要连接到一个串行通信端口上,需要创建一个SerialConnector。

// create your connector
IoConnector connector = new SerialConnector()
connector.setHandler( ... here your buisness logic IoHandler ... );

这和创建一个SocketConnector没有太多不同,现在创建一个地址连接到一个串行端口。

SerialAddress portAddress=new SerialAddress( "/dev/ttyS0", 38400, 8, StopBits.BITS_1, Parity.NONE, FlowControl.NONE );  

第一个参数是串行端口标识符,对于Windows系统来说,串行端口被称作“COM1”、“COM2”、...等,对于Linux和Unix系统来说,被称作"/dev/ttyS0"、"/dev/ttyS1"和"/dev/ttyUsb0"等。

剩余的参数取决于所使用的设备和所想要的通信特性:

  • 波特率
  • 数位
  • 奇偶校验
  • 流量控制机制

一旦这些完成,连接器就可以连接到该地址

ConnectFuture future = connector.connect( portAddress );
future.await();
IoSession sessin = future.getSession();

瞧!其他的一切都一样,可以按照自己的意愿添加自己的过滤器和编码解码器。要知道更多的RS232的内容,参看:http://en.wikipedia.org/wiki/RS232

你可能感兴趣的:(MINA2.0用户手册中文版--第六章 MINA中的传输 第二节 基于串行传输)