1

私は現在、平文コマンドを受け取り、それらのコマンドに従って何かを返すサービスを作成しています。これも平文です。

私はこの奇妙な問題を抱えていますBufferedReader、または奇妙なのはtelnetかもしれません.何らかの理由でBufferedReader最初のコマンドを読み取りますが、そのコマンドは何をしても無視されます.私の意見では、それはそれを少し伸ばしているだけです。

以下のコードはrun()メソッド内にあります。次にoutPrintWriterおよびinとして設定しBufferedReaderます。変数はrunsデフォルトで ですtrue

out = new PrintWriter(handle.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(handle.getInputStream()));
while (runs) {
    String msg;
    msg = in.readLine();
    String[] command;
    command = msg.split(" ", 3);
    /* do something with the command */
}

だから私の質問はBufferedReader、最初の行を無視しているのか、それとも私と協力していないのはtelnetなのかということです.

それ以外の場合は、教えてください。

編集 私はこのデバッグメッセージを受け取りました:

デバッグ: ���� ����'������/nick halmark

だから私はそれがすべての疑問符についてだと思います。

4

1 に答える 1

2

私はWindowsボックスで開発しているので、実際には最新のPuttyを使用しています...そして私が思い出す限り...デフォルトでは存在しません

PuTTY を使用している場合は、「Raw」接続タイプを選択する必要があります。

Microsoft telnet サーバーは、最初に何らかのコンテンツ/プロトコル ネゴシエーションを行うことを好むため、PuTTY はRFC 854 仕様に従ってデフォルトでこれを行います。それはあなたが読んでいるゴミです。

于 2012-09-24T22:20:19.757 に答える