Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Mit Java von Sockets lesen / float[] zu byte[] cast

Dreamforger / 3 Antworten / Flachansicht Nickles

Hallo zusammen,


ich habe einen Server der auf einem best. Port UDP Daten sendet. Die gesendeten Daten sind floats. Ich möchte die Daten jetzt in einem Java Programm von besagtem Socket lesen.


Ich erstelle also ein DatagrammPacket und lese die Daten vom Server in das byte[] array. Leider handelt es sich nicht um bytes sonder um floats die da eigentlich gesendet werden. Unter C(++) wäre das eine einfache Sache von


float* f = (float*)(void*)bytedata;


oder 'ne Union etc etc. Bloß in Java sind mir da die Typen-Hände gebunden.


Ich bin leider auf Java angewiesen. Den Server zu ändern, so dass er einen String schickt den ich dann mittels parseFloat interpretiere, ist nicht möglich.


Gehts evtl mit einer eigenen Ableitung der DatagramPacket und DatagramSocket Klassen? Wenn ja wie?

bei Antwort benachrichtigen
Float.intBitToFloat() neanderix
Dreamforger neanderix „Float.intBitToFloat()“
Optionen

für dich wiederhol ich sogar das Subject deiner Antwort :-)
Float.intBitsToFloat()
hatte ein 's' vergessen, aber daran lags wohl nicht

bei Antwort benachrichtigen