Hi,
Ich habe gerade neu mit Java angefangen und habe schon was größeres vor. Es geht um eine Kommunikation zwischen mir und einem Server über einen Socket.
Das Problem ist, dass die Nachrichten (Strings) als Binärcode an den Server gesendet werden müssen.
In PHP habe ich das immer mit pack() gelöst.
Dieses Projekt erfordert dabei die Strings Stringlänge, Handle, Stringtext gepackt (in PHP) mit dem Format VVa*
also
stringlänge als unsigned long (always 32 bit, little endian byte order)
handle als unsigned long (always 32 bit, little endian byte order)
stringtext als NUL-padded string (so oft wiederholt wie nötig)
stringlänge ergibt sich aus dem stringtext, handle ist immer 0x80000000
Da ich die Funktion pack in Java nicht finde habe ich mir so ausgeholfen:
Funktioniert natürlich nicht ...
Ich hoffe jemand von euch kann mir helfen.
Vielen Dank im Vorraus
Ich habe gerade neu mit Java angefangen und habe schon was größeres vor. Es geht um eine Kommunikation zwischen mir und einem Server über einen Socket.
Das Problem ist, dass die Nachrichten (Strings) als Binärcode an den Server gesendet werden müssen.
In PHP habe ich das immer mit pack() gelöst.
Dieses Projekt erfordert dabei die Strings Stringlänge, Handle, Stringtext gepackt (in PHP) mit dem Format VVa*
also
stringlänge als unsigned long (always 32 bit, little endian byte order)
handle als unsigned long (always 32 bit, little endian byte order)
stringtext als NUL-padded string (so oft wiederholt wie nötig)
stringlänge ergibt sich aus dem stringtext, handle ist immer 0x80000000
Da ich die Funktion pack in Java nicht finde habe ich mir so ausgeholfen:
Code:
private String toBinary(int value) {
String x = Integer.toBinaryString(value);
while (x.length() < 32) {
x = "0"+x;
}
return x;
}
private String toBinary(String string) {
StringBuffer sb = new StringBuffer(string);
String bin = "";
for (int i = 0; i < sb.length(); i++){
bin = bin + Integer.toBinaryString(sb.charAt(i));
}
return bin;
}
Funktioniert natürlich nicht ...
Ich hoffe jemand von euch kann mir helfen.
Vielen Dank im Vorraus