2012-04-03 2 views
1

netty를 사용하여 하나의 Java 응용 프로그램을 개발 중입니다.이 응용 프로그램에서는 장치에서 데이터를 읽고 데이터베이스에 저장합니다. 그러나 여기에서는 장치가 읽는 절반 데이터를 보내고 장치가 절반 데이터를 보내면 문제가 발생합니다. 스레드 Thread.sleep() 메서드는 완전한 데이터를 기다리는 것입니다. Netty에서는 Non Blocking Ios (NIO)를 사용하고 있습니다. NIO가 완전한 데이터를 읽는 것을 기다리는 방법을 알려주십시오.Netty를 사용하여 장치에서 완전한 데이터를 읽는 방법?

감사

답변

1
당신은 그것을이 완료되면 ChannelBuffer 만 비즈니스 핸들러에 기반 얻을 것이다 있는지 확인합니다 자신의 FrameDecoder를 구현해야합니다

.

[1]을 참조하십시오.

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

+0

그러나 여기 장치가 프레임을 만드는 데 필요한 데이터는 무엇입니까? 제 경우에는 장치가 깨진 형식의 데이터를 보내고 있습니다. – Raghava

+0

. 나는 또한 같은 문제가있다. 장치가 깨진 프레임으로 데이터를 보내고 그것이 나를 위해 일하고있다. 예 : LengthBasedFrameDecoder는 장치의 전체 데이터가 도착할 때까지 기다렸다가 다음 디코더로 전송합니다. 나는 여러분이 framedecoder 예제를 철저히 검토하고 해결책을 얻을 것을 제안한다. – Abe

관련 문제