Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

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

Dreamforger / 3 Antworten / Baumansicht 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
Dreamforger Nachtrag zu: „Mit Java von Sockets lesen / float[] zu byte[] cast“
Optionen

habs selbst gefunden

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

LAesst du uns auch an deinem Wissen teilhaben?

Volker

Computers are like airconditioners - they stop working properly when you open Windows Ich bin unschuldig, ich habe sie nicht gewählt!
bei Antwort benachrichtigen
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