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
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.