0

RXTXトランスポートを適切に使用する方法を理解するのに苦労しています(今日のGitから)。

シリアル ポートから読み取ったコンテンツを消費するインバウンド ハンドラーを作成し、それをデコードし、カスタムのアウトバウンド ハンドラーを介してシリアル ポートに他のコンテンツを送信することができます。これまでのところ問題ありません。

ここで、メイン プログラムから MessageToByteEncoder (前に説明したのと同じカスタム outboundhandler) を介してメッセージを書き込む必要があるユース ケースがあります (最終的に、これは実際には下で Netty を使用するライブラリになります)。したがって、基本的には、デコーダーを通過せず、受信ハンドラーではなくメイン プログラムから書き込まれるメッセージを送信しないことを除いて、上記のシナリオと同じことをしようとしています。私の場合、このシナリオは機能していないようです。メッセージが送信されなかったかのように、何も起こらないようです。残念ながら、Netty には多くのログ ステートメントがなく、間違っている可能性がありますが、メイン スレッドがイベント ループにないため、問題が表面化する可能性があります (ここで驚くことではありません! :))。

残念ながら、RXTX の例では (ChannelHandlerContext を介して) インバウンド ハンドラーからのメッセージしか書き込まないため、何が間違っているのか、Netty に最近追加されたものにバグがあるのか​​どうかを確認できません。

助言がありますか?

4

2 に答える 2

0

私が抱えていた問題は、実際には 2 つの異なる問題に関連していました。

両方の修正を見つけました (予想通り、問題は RXTX トランスポート自体にありました)。

于 2013-01-18T19:32:16.557 に答える
0

次の 2 つの方法のいずれかで記述できるはずです。

Channel channel = ...
channel.write(YourMessage);

ChannelHandlerContext ctx = ...
ctx.write(YourMessage)
于 2013-01-16T14:57:12.537 に答える