Android i Java - Socket

0

Witam,
Mam pewien problem. Mianowicie utworzyłem sobie hierarchię klient-serwer poprzez Socket. Serwer to maszyna stojąca na Ubuntu, a Klient to telefon z systemem Android. Serwer nasłuchuje na porcie 9512. Podczas próby wysłania wiadomości przez Klienta uzyskuje Exception "No route to host". Po spingowaniu adresu Klienta od strony Serwera, zwykłym poleceniem ping, wszystko się nagle naprawia. Podczas wysłania wiadomości nie pojawia się już Exception. Serwer prawidłowo odbiera wiadomość. Czasem zdarza się też tak, że podczas pingowania adresu Klienta ukazuje się "Destination Host Unreachable" . Nie mam pojęcia co jest grane, wszystkie komputery są w tej samej sieci lokalnej połączonej modemem od UPC.

0

Wygląda raczej na błąd sieciowy, a nie programowy. Istnieje możliwość, że router od UPC używa jakiegoś dziwnego algorytmu routingu dynamicznego, lub Android jest źle skonfigurowany. Najwyraźniej klient Androidowy nie wie, co zrobić z adresami w swojej podsieci, dopóki go o coś nie zapytają. Jak podajesz adres serwera klientowi? Poprzez IP, czy po nazwie DNS? Jeśli to drugie, to spróbuj zmienić.

0

Adres serwer podaję jako IP.
Co jest conajmniej dziwne to to, że u mnie IP pokazuje 192.168.0.12 a w routerze 192.168.0.13 :|
user image
user image

0

Przepraszam, żle popatrzyłem. Chyba jest jeszcze gorzej. Ta 13'stka to komputer stacjonarny w pokoju obok. W takim razie router mnie nie widzi w ogóle ? :|

0

"komputery są w tej samej sieci LAN" - no OK, LAN taki sam, a VLAN? Błąd który opisujesz to prawdopodobnie standardowy błąd we VLAnach.
Proponowane rozwiązania:

  1. Zdejmij VLAny
  2. Pinguj hosta przed połączeniem, to eliminuje ten błąd we VLAnie.
0

Ale ja nie mam utworzonych żadnych vlan'ów

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