Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

緊急データ(OOB)の受信について

いつもお世話になっております。
telnet通信についての質問です。

現在、telnetでログイン処理を行う際に、不特定なタイミングでログイン異常が発生しています。
調査を行ったところ、緊急データ(OOB)というものが相手サーバから返却されているのが原因だということが分かりました。
更に調査をしたところ、Socketクラスを使用してtelnet接続を行う方法なら、「setOOBInline(true)」を設定することでこの事象の回避ができることも分かりました。

しかし問題となっているのが、現行システムのtelnet通信がtelnetClientクラスを使用していて、このクラスには、上記の 「setOOBInline(true)」のような設定をするメソッドが存在しないということです。

現行の仕様として接続方法の改修「telnetClient→Socket」はできないとの事なのですが、telnetClientでの接続方針のまま、緊急データ(OOB)の対応をする方法はあるのでしょうか?
またあるとしたらどのようにすればよいのでしょうか?

2

回答

6151

閲覧

2件の回答

評価

30

TelnetClient.setSocketFactoryで、自作したクラスを設定することで、
内部で利用されるSocket生成のコードをカスタムできるので、
この経路でSocket.setOOBInlineを入れてみてはいかがでしょうか。

ちなみに、デフォルトではDefaultSocketFactoryというクラス
http://commons.apache.org/proper/commons-net//apidocs/src-
html/org/apache/commons/net/DefaultSocketFactory.html
が利用されるようですね

評価

0

素早い回答ありがとうございます。
SocketFactoryというものは使ったことがないので、その観点でもう一度調査してみます。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。