Demonus
14-03-2003, 08:24
Hey,
ich habe einen Server in C geschrieben der mit der Funktion read()
einen Int-Wert einliest. Der Client ist ein Java-Programm und jetzt
habe ich das Problem, dass ich keine Möglichkeit habe (weiss) wie ich
in Java einen Int-Wert zum Server schicken kann und der ihn auch richtig
empfängt.
Folgendes habe ich schon probiert:
1.
Klasse: DataOutputStream
Methode: writeInt()
Problem: diese Methode schreibt dass höchste Byte zuerst. Das hat zur
Folge, dass wenn ich die Zahl 3 schicke, der C-Server die Zahl
50331648 einliest. Das ist ja auch klar, weil die Byte Reihenfolge
ja anders ist (writeInt() schreibt ja das höchste Byte zuerst).
2.
Klasse: ObjectOutputStream
Methode: writeInt()
Problem: eigentlich müssten doch bei dieser Methode nur 4 Byte verschickt
werden, oder. Es kommen aber mehr als 4 Byte beim Server an und
daher ist der Wert wieder falsch.
Gibt es überhaupt ein Möglichkeit in Java, eine Int-Zahl zu verschicken
(schreiben), die von einem C-Programm gelesen werden kann?
ich habe einen Server in C geschrieben der mit der Funktion read()
einen Int-Wert einliest. Der Client ist ein Java-Programm und jetzt
habe ich das Problem, dass ich keine Möglichkeit habe (weiss) wie ich
in Java einen Int-Wert zum Server schicken kann und der ihn auch richtig
empfängt.
Folgendes habe ich schon probiert:
1.
Klasse: DataOutputStream
Methode: writeInt()
Problem: diese Methode schreibt dass höchste Byte zuerst. Das hat zur
Folge, dass wenn ich die Zahl 3 schicke, der C-Server die Zahl
50331648 einliest. Das ist ja auch klar, weil die Byte Reihenfolge
ja anders ist (writeInt() schreibt ja das höchste Byte zuerst).
2.
Klasse: ObjectOutputStream
Methode: writeInt()
Problem: eigentlich müssten doch bei dieser Methode nur 4 Byte verschickt
werden, oder. Es kommen aber mehr als 4 Byte beim Server an und
daher ist der Wert wieder falsch.
Gibt es überhaupt ein Möglichkeit in Java, eine Int-Zahl zu verschicken
(schreiben), die von einem C-Programm gelesen werden kann?