0
私はx11vncを使用していますので、簡単なクライアントを開発したいと思います。 だから、仕事は次のとおりです。java.netソケット、readline、行終端子(VNC接続)
- ソケット
- からレシーブ情報が
- レシーブ次のデータ
- がために、だから、など
を別の情報に
を送信し、情報を送信しますたとえば、次の単純なコードを使用しています:
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(socket.getInputStream()));
String test = null;
try {
test = lnr.readLine();
System.out.println(test);
test = lnr.readLine();
System.out.println(test);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
System.exit(0);
サーバーからの最初のメッセージがエラーなしで取得されました(最初のreadLine)。次のメッセージは空です(または、readLineの行終端文字はありません)。無限ループがあります。lnr.ready()は機能しません。
ソケットからのデータに "\ n"、 "\ r"、 "\ r \ n"がない場合、またはソケットバッファが空の場合はどうすればソケットから読み込むことができますか?
うん、ありがとう、ので、どのように私はInputStreamReaderのから読み取ることができますか?私はどういう意味ですか? LineNumberReaderはいつ使用できますか?私はJavaに慣れていないので、このような«同一の»クラス(ISRとLNRではなく、BufferReaderなど)をいつ使用するのか理解できません。 – purple
>うん、ありがとう、どうして私はInputStreamReaderから読み込むことができますか? *またソケットから直接? – purple
@purple、read()メソッド。 [InputStreamReaderのリファレンス](http://download.oracle.com/javase/1.4.2/docs/api/java/io/InputStreamReader.html)を参照してください。また、[LineNumberReaderリファレンス](http://download.oracle.com/javase/1.5.0/docs/api/java/io/LineNumberReader.html)を参照してください。 – kanaka