0

私は、時間の経過とともにかなり多くの接続を受け取るサーバー アプリケーションに取り組んできました。これを処理できるようにするために、標準の Java NIO クラスを使用してノンブロッキング設計を実装しています。しかし、処理する詳細がたくさんあるので、何らかのフレームワークを使用することをお勧めします。できればSpring Integrationを使用したいのですが、単純で実用的な例を見つけることができませんでした。

代わりに、必要な機能を提供していると思われる Grizzly フレームワークを評価しています。私は彼らのEchoServer の例を実装しましたが、サーバーに Telnet で接続できず、結果がコンソールにエコー バックされることがわかりました。彼らの EchoClient アプリケーションは期待どおりに動作します。

私の場合、クライアントが私に接続しようとしているとは想定できないため、単純な telnet クライアントから NIO クライアントまですべてをサポートできる必要があります。Grizzly はこれを行うことができますか。

4

1 に答える 1

0

使用しているサンプルは、StringFilter によって実装された特別な入力形式に基づいています。StringFilter は、文字列の長さの接頭辞を持つ一連のバイトとして文字列をデコード/エンコードします。確かに、telnet は同じ形式を使用して文字列をエンコードしないため、サーバーはデータをエコー バックしません。サーバーを telnet で動作させるには、サーバーの FilterChain から StringFilter を削除するだけです (この行をコメントアウトします)。

//          filterChainBuilder.add(new StringFilter(Charset.forName("UTF-8")));
于 2012-12-22T11:24:08.750 に答える