Sockety wysyłanie danych z javy, odczytywanie przez c++

0

Witam,
Mam do napisania klient-serwer. Klient jest w javie oczywiście. Tam dane pakuję do bytearrayinputstream i wysylam. Na serwerze, który jest w c++ odbieram te dane. Jeśli chodzi o przesyłanie dalej to nie ma z tym żadnego problemu. Problem pojawia się w tym, że kiedy chcę odczytać jakieś dane (np. napis) to pojawiają się dziwne rzeczy:

datas: fda144datas: fda144datas: fda144datas: fda144datas:

Chciałbym wyciągnąć jak najwięcej danych z takiego strumienia.
Oczywiście używam socketów do komunikacji.
Proszę o jakąś podpowiedź, ewentualnie naprowadzenie.
Pozdrawiam.

0

Pokaż kod.

0

java:
[code]
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(byteOutput);

out.writeUTF("ewq");
out.writeUTF("asd");
[/code]

c++:
[code]
if(( nbytes = recv( i, buf, sizeof( buf ), 0 ) ) <= 0 ) {
// błąd lub połączenie zostało zerwane
}
else{
printf("datas: %x",buf);
//odpowiednie dzialanie na buf
}
[/code]
W zasadzie to tyle

0

@anone a czego sie spodziewasz skoro wysyłasz UTF-8 to dostajesz bajty z UTF-8...

0

to w takim razie jak to odczytac?

0

Nie pakuj tego do DOS tylko bezpośrednio do BAOS i daj BAOS.write(String.getBytes("kodowanie")).

1 użytkowników online, w tym zalogowanych: 0, gości: 1