にソケットから特定のバイトをハンドル:私は、各パックの最初の4つのバイトを読み込み、整数へのバイナリからそれらを変換する必要があり私はUnixソケットを読み取るために以下のコードを使用していたJava
Boolean flag = false;
while (!flag) {
try {
File socketFile = new File("./RISP");
AFUNIXSocket sock = AFUNIXSocket.newInstance();
sock.connect(new AFUNIXSocketAddress(socketFile));
System.out.println("!!!!!!!!!!CONNECTED!!!!!!!!!");
flag = true;
BufferedReader input = new BufferedReader(new InputStreamReader(sock.getInputStream()));
String line = null;
while ((line = input.readLine())!=null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("NOT CONNECTED....." + e);
}
try {
Thread.sleep(2000);
} catch (InterruptedException inter) {
System.out.println(inter);
}
}
。
私は多くの投稿を読んだことがありますが、私はまだ私の問題に最適な解決策を探しています。
@Aaron編集していただきありがとうございます。 –
この場合、byte []にはパック全体が入っていますか? –
私はDataInputStreamメソッドを使用しようとしましたが、 "スレッドで例外"が発生しました。メイン "java.lang.OutOfMemoryError:Javaヒープスペース"例外は行のバイト[]バイト=新しいバイト[len]; –