1

Java でソケットを使用して、単純な telnet クライアントを作成しようとしています。ここに私が書いたものがあります:

public class NetUtil {
    public static void main(String[] args) throws IOException {
        Socket sock = new Socket("localhost", 23);
        InputStream in = sock.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(in));

        String output;
        while((output=br.readLine())!=null){
            System.out.println(output);
        }
    }
}

問題は、バッファリングされたリーダーから読み込もうとすると出力がフリーズすることです。sock.isConnected() との接続を確認しました-接続されています。私の Telnet サーバーは稼働しています - コンソールから確認しました - ワークステーションに接続できますが、ソケットを使用しようとすると失敗します。

4

2 に答える 2

1

ここで車輪を再発明するべきではないと思います。Apache Commons Net telnet クライアントを使用してみてください。

于 2012-11-19T15:42:10.927 に答える
0

サーバーが何かを送信してもよろしいですか?改行文字も送信しますか?readLineあなたのプログラムはの呼び出しでそれを期待していBufferedReaderます。

于 2012-11-19T15:27:06.480 に答える