Mam problem z przysyłaniem informacji protokołem UDP. Mianowicie wszystko wygląda tak:

Mam sporo stworzonych wątków z czego pierwszy (główny) odpowiada za wyświetlanie gracza 1,2 oraz ew. błędów w konsoli. Drugi wątek odpowiada za wysyłanie pozycji (indeksowanej) w UDP, trzeci za odbieranie tych informacji. Zaś czwarty jest tylko do odbierania wiadomości wysyłanych protokołem TCP(chat).
W pierwszym wątku także jest zawarty mini interfejs, który także służy do wysyłania wypisanej wiadomości protokołem TCP.

I napotkałem niespotykany błąd podczas wysyłania informacji UDP. Hoster przy odbieraniu pozycji nie napotyka błędów i wyświetla zmiany gracza 2. Zaś gracz drugi przy odbiorze pierwszego pakietu UDP, popełnia znaczący błąd i wywala wątek trzeci, czyli ten który miał pozycje hostera pobierać.
informacje są pobierane tak: indeks+x+pozycjax+x+pozycjay potem są rozkładane podczas odbioru i odpowiednio sprawdzane i formatowane ("x" słuzy tylko do oddzielenia tych informacji).
Jednak pierwszy pakiet od hostera powinien wygladać tak: 0x20x20 a wygląda tak: 0x20x2020. Ewidentnie pakiet jest dopełniany w większości przypadkach losowymi wartościami :o.

Co może być tego powodem ? Jeśli czegoś nie rozumiecie proszę pytać. Bardzo zależy mi na rozwiązaniu tego problemu.
Piszcie także jaki element kodu byście najbardziej potrzebowali aby być w stanie mi pomóc.


Właśnie okazało się że to nie stoi wina po stronie klienta czy hosta. Lecz komputera :o. Dlaczego? Zahosotwałem z drugiego komputera i działa identycznie. Identycznie źle. Wciąż dopisuje nie wiadomo skąd do końcówki pakietu jakieś cyfry i podczas formatowania wywala błąd wyjątku NumberFormatException.
Ciężko ogarnąć o co chodzi i zanim zapytam muszę przetestować jeszcze z jednym komputerem.


Już naprawiłem . :D Okazało się że aplikacja z latopa korzystała z starej wersji mojej biblioteki (Klasy) i przez to wychodziły sprzeczności.
Czekała na wiadomość protokołem TCP a zanim dostała to setki pakietów UDP przemykało..