Hallole, ich hoffe ich bin hier richtig.
Ich habe ein Programm, welches von einem Socket Daten einliest und diese verarbeitet.
Das mache ich bisher mit read().
Da der Server von dem ich die Daten bekomme IMMER auf Windows läuft und ih C/C++ Programmiert ist, bekomme ich vom Socket einen Steam der eben ein C-Mäßiges char Array ist mit max. 1024 Zeichen (char output[1024] ).
ICh lese ihn zb so ein:
in b_time steht dann nachher zb: ZEIT: 09:41 03.11.2006\0\0\0\0
So.
Da der Stream immer 1024 Zeichen lang ist, werden die restlichen Zeichen mit bis 1024 '\0' aufgefüllt wie es in C üblich ist.
Die Stringlänge ist hier laut C also 22.
Und laut Java 1024.
Ist ja auch klar, denn Java versteht die nullen nicht als Stream Ende.
Jetzt muss ich jedesmal nach der ersten null suchen und den String abschneiden usw.
Geht das auch einfacher?
Kann man da irgendwas mit nem Bytearray erreichen, damit er bei der ersten null den String abschneidet?
Ist schon irgendwie umständlich, da ich recht viel kommunikation habe.
Vielleicht hat der eine oder andere ja nen Tip für mich
Vielen Dank schonmal, Javamondmann
Ich habe ein Programm, welches von einem Socket Daten einliest und diese verarbeitet.
Das mache ich bisher mit read().
Da der Server von dem ich die Daten bekomme IMMER auf Windows läuft und ih C/C++ Programmiert ist, bekomme ich vom Socket einen Steam der eben ein C-Mäßiges char Array ist mit max. 1024 Zeichen (char output[1024] ).
ICh lese ihn zb so ein:
Code:
char []cread= new char[1024];
ma_reader.read(cread,0,1023);
b_time=new String(cread);
in b_time steht dann nachher zb: ZEIT: 09:41 03.11.2006\0\0\0\0
So.
Da der Stream immer 1024 Zeichen lang ist, werden die restlichen Zeichen mit bis 1024 '\0' aufgefüllt wie es in C üblich ist.
Die Stringlänge ist hier laut C also 22.
Und laut Java 1024.
Ist ja auch klar, denn Java versteht die nullen nicht als Stream Ende.
Jetzt muss ich jedesmal nach der ersten null suchen und den String abschneiden usw.
Geht das auch einfacher?
Kann man da irgendwas mit nem Bytearray erreichen, damit er bei der ersten null den String abschneidet?
Ist schon irgendwie umständlich, da ich recht viel kommunikation habe.
Vielleicht hat der eine oder andere ja nen Tip für mich
Vielen Dank schonmal, Javamondmann