Voovan是个中国人做的开源通信包,详情可以查看http://www.voovan.org/
当初选用Voovan作为系统通信框架的原因其实是因为互联网上HTTP数据传输的粘包问题,估计是客户端处理有问题,但是这种事情到最后还是怪到服务端。mina、netty的解决方式比较繁琐,倒是voovan不需要任何修改直接就解决了。
因为新设备厂商的原因,部分设备数据采用TCP Modbus方式进行数据通信,这年头做Java开发的能做字节流通信的已经很少了,只能重拾被放弃了五六年的IDE。
协议本身很简单,举个遥测例子
00000000000601040000000A
拆解开就是
00 00 00 00 00 06 01 04 00 00 00 0A
消息号 TCP填充 长度 设备号 操作码 起始地址 请求数据范围
Voovan默认提供了一些消息分割器,但是没有对于字节流消息的,只能自己写咯(大部分代码都在voovanTcpTest包里)
import java.nio.ByteBuffer;
import org.voovan.network.*;
/**
*
* @author Chen Yi <njchenyi@gmail.com>
&nbs