Я пробовал твой код - сильно уменьшил фп! Все тот же результат. Я пробовал как с readInt (), так и с чтением 257 байт (всего с учетом DWORD). Глядя на данные, почти всегда отсутствует 30/31 пакетов данных - подозрительно !! Код ниже:
try
{
lSocket = new Socket("localhost", 7651);
lDataStream = new DataInputStream(lSocket.getInputStream());
}
catch (UnknownHostException e)
{
System.out.println("Unknown host: localhost");
System.exit(1);
}
catch (IOException e)
{
System.out.println("No I/O");
System.exit(1);
}
//Receive data from ROS SerialtoNetwork server
try
{
while(true)
{
//in.readInt();
byte[] cbuf = new byte[257];
lDataStream.readFully(cbuf);
String lstr = new String(cbuf);
System.out.print(lstr);
System.out.println("");
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Пример данных (это двоичный файл, третий столбец - это seq id пакета - не может показать все это, так как некоторые из них не являются печатными символами, поэтому здесь показана только часть данных. Но я вижу всю партию прийти, когда он читает пакет)
ÿþÿ, 253, 31, 26,129,105, 94, 65, 67, 31, 23, 2, 9,791, 56, 12, 88, 64, 2,
32-61 отсутствует / не читается в
ÿþÿ, 253, 62, 26,129,105, 94, 65, 67, 31, 23, 2, 9, 5, 57, 11, 88, 64, 2,
63-91 отсутствует / не читается в
ÿþÿ, 253, 92, 26,129,105, 94, 65, 67, 31, 23, 2, 9, 5, 57, 12, 88, 64, 2,