Witam! Zadałem to pytanie na wielu forach i nikt nie mógł mi odpowiedzieć, więc PROSZĘ pomóc!W jaki sposób urządzenie z Androidem może programowo wywnioskować adres IP urządzenia Linux, z którym jest powiązane?
Mam urządzenie z Androidem podłączone do urządzenia z systemem Linux przez tethering przez USB.
Na urządzeniu z Androidem mam aplikację do przeglądarek front-end (html, js, css), a na urządzeniu z systemem Linux mam back-end (node.js).
Istnieje połączenie między front-end a back-end z określonym adresem IP: PORT.
Brama Androids to urządzenie z systemem Linux. Urządzenie Linux jest podłączone do sieci lokalnej.
Gdy urządzenie z systemem Android jest podłączone do urządzenia z systemem Linux, urządzenie z systemem Linux inicjuje nowy interfejs sieciowy o nazwie usb0 ze statycznym adresem IP.
Gniazda są oparte na tym IP sieci, który jest taki sam dla każdego wystąpienia urządzeń front-end + back-end.
Mam więcej niż 5 wystąpień tego samego urządzenia front-end + zaplecza podłączonego do sieci lokalnej.
Czy istnieje sposób na znalezienie adresu IP urządzenia wewnętrznego bez ustawiania go w sposób statyczny?
Mój problem zaczyna się po uruchomieniu wszystkich urządzeń w tym samym czasie. Czasami urządzenie z Androidem w instancji 1 łączy się z urządzeniem Linux z innej instancji i chcę temu zapobiec przez brak połączenia z usb0 z Androidem, ale z et0 DHCP urządzenia Linux. Nigdy nie wiadomo, który adres IP będzie na urządzeniu z Linuksem, ale aplikacja front-end musi mieć adres IP: PORT, aby się połączyć.
PORT definiuje więc ciąg do podłączenia jest {IP + „: 3000”}
wiem, że mogę zobaczyć wszystkie adresy IP w sieci z ARP lub podobne, ale muszę to zrobić automatyczny w przód- Zakończ aplikację na starcie aplikacji.
Chcę znaleźć pierwszy adres IP urządzenia, do którego jest podłączone urządzenie z Androidem. To zawsze jest urządzenie Linux na przedniej parze.
Jeśli nie jest możliwe uniemożliwienie urządzenia z systemem Android do podłączenia innej instancji za pomocą tabel IP na urządzeniu z systemem Linux.
P.S Wiem, że Android jest również Linux, ale ktoś, kto chce odebrać będzie wiedział, co mówię.
Przy użyciu jakiego stylu programowania? Android Java? Czy chcesz to zrobić z kodu C/C++? – selbie
Myślę, że o to pytasz: * W jaki sposób urządzenie z Androidem może programowo wywnioskować adres IP urządzenia Linux, z którym jest powiązane? * Czy to prawda? Jeśli tak, czy chcesz to zrobić w Javie lub C? – selbie
Używam Java, aby ustalić tether na początku aplikacji (modyfikowana wtyczka cordova). Aplikacja jest hibiskalna i zapisuje adres gniazda w javascript. Tak więc muszę jakoś powiedzieć aplikacji, aby połączyć się z konkretnym IP – Avoid