Hallo
Was ich brauche ist eine FIFO Queue wo ich (über das Netzwerk) empfangene Bytes reinschreiben kann und die Bytes dann wieder auslesen kann, aber als Float oder Double oder was auch immer ich dann brauche. Ich habs mal mit einer ArrayBlockingQueue versucht, bin aber beim Auslesen hängengeblieben da ich bei der queue nur jeweils ein Byte auslesen kann (was natürlich ok ist da ich eine Byte-Queue verwende, aber eben direkt eine Float auslesen wäre toll)
Da stellt sich mir auch noch die Frage: ich habe eine byte[] Queue. Heisst das dann wenn ich ein byte-array hinzufüge mit put oder so, dass dann die Bytes hintereinander in der Queue stehen oder sind dann die Byte-arrays als Objekte in der Queue und ein poll() gibt dann ein ganzes solches Array zurück?
mfg
Was ich brauche ist eine FIFO Queue wo ich (über das Netzwerk) empfangene Bytes reinschreiben kann und die Bytes dann wieder auslesen kann, aber als Float oder Double oder was auch immer ich dann brauche. Ich habs mal mit einer ArrayBlockingQueue versucht, bin aber beim Auslesen hängengeblieben da ich bei der queue nur jeweils ein Byte auslesen kann (was natürlich ok ist da ich eine Byte-Queue verwende, aber eben direkt eine Float auslesen wäre toll)
Java:
byte[] bytearray = {...}
ArrayBlockingQueue<byte[]> queue = new ArrayBlockingQueue<byte[]>(EasyNet4jByteTransferConfig.readerSize + 10, true);
queue.put(bytearray);
//Loop as long as there are enough bytes to fit a value
while (queue.size() >= Float.SIZE) {
//Read float values
}
Da stellt sich mir auch noch die Frage: ich habe eine byte[] Queue. Heisst das dann wenn ich ein byte-array hinzufüge mit put oder so, dass dann die Bytes hintereinander in der Queue stehen oder sind dann die Byte-arrays als Objekte in der Queue und ein poll() gibt dann ein ganzes solches Array zurück?
mfg