如何使用Netty从设备读取完整数据?

时间:2012-04-03 05:41:40

标签: java gps nio netty

我正在使用netty开发一个java应用程序。在这个应用程序中,它将从设备读取数据并将其放入数据库。但问题是,一旦设备发送它将读取的一半数据,设备再次发送一半数据。在线程Thread.sleep()方法是等待完整的数据。在Netty我使用非阻塞IOS(NIO)。请告诉我如何等待NIO读取完整数据。

由于

2 个答案:

答案 0 :(得分:1)

您需要实现自己的FrameDecoder,以确保ChannelBuffer只有在完成后才会基于您的业务处理程序。

见[1]。

[1] http://netty.io/docs/stable/api/org/jboss/netty/handler/codec/frame/FrameDecoder.html

答案 1 :(得分:0)

您可以简单地使用ReplayingDecoder,它将读取直到数据完成。 Here you can take a look for example.