Willst du denn nun einen float oder ein double senden? Denn ein float ist unter den meisten Compilern 4 Byte groß, ein double aber eben doppelt so groß, also 8 Bytes. Wenn du also nur die ersten 4 Bytes eines doubles sendest, kann ja auch nur Schrott ankommen...