[Sockets]Błędny odczyt bajtów

0

Witam!
Mam taki problem z Javą. Otwieram w Javie nasłuchującego Socketa na porcie 3050. Po podłączeniu się do niego klientów jest możliwość wysyłania danych pomiędzy Serwerem(socketem nasłuchującym) , a klientami.
Klienty nie wszystkie są w Javie. I problem polega na tym, że gdy klient wysyła bajt o wartości większej od 128 np 190 to po stronie serwera przychodzą mi zamiast 190 inne liczby. Gdy odczytuje jako bajt otrzymuję jakąś minusową liczbę, gdy odczytuje jako int otrzymuję 4-cyfrową liczbę. Sprawdziłem to samo na serwerze pod c# i tam wartości bajtów były odczytywane prawidłowo. próbowałem też robic rzutowania na shorta i rezultaty również są niepocieszające.czy ma ktoś jakiś pomysł, jakąś alternatywę w jaki sposób odczytywać te dane. z góry dziękuje z a pomoc.

0

Prawdopodobnie musisz wczytaj bajt jako unsigned (zakres 0 - 255): opakuj Twoj InputStream w DataInputStream i wywolaj metode readUnsignedByte(). Uwaga, ona zwraca inta aby liczba sie zmiescila.

0

Dzięki wielki za pomoc! Zadziałało! Pozdrawiam.

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