Czy mogę komunikować się z serwerem (urządzeniem z Androidem) od klienta (urządzenia z systemem Android) tylko po to, aby wysłać zapytanie do bazy danych znajdującej się na serwerze za pomocą gniazd TCP?
Odpowiedzi:
1 dla odpowiedzi № 1I tak i nie. Jeśli urządzenie znajduje się w sieci bezprzewodowej i ma własny lokalny adres IP. Możesz połączyć się z nim z telefonu klienta, jeśli znajduje się w tej samej sieci, zapewniając tylko właściwy adres IP i port.
Jeśli telefon serwera znajduje się w innym urządzeniu bezprzewodowymsieć, następnie Port musi być przekazywany za pomocą ustawień routera do portu serwera. Pamiętaj, że jeśli ponownie nawiążesz połączenie z siecią bezprzewodową przez telefon, adres IP zostanie automatycznie przydzielony przez infrastrukturę sieciową i może zostać zmieniony z poprzedniego.
Jeśli chcesz połączyć się z telefonem serwera, gdy jestw sieci 3G (lub podobnym non-wifi), nie będziesz miał żadnego konkretnego IP i nie będzie on statyczny, w ten sposób prawie niemożliwe będzie stworzenie niezawodnej sieci. Jest to większy model sieci Peer-to-Peer, którego szukasz.
Znacznie lepiej jest używać serwera w środku jako bramy, w ten sposób będzie on niezawodny. Jedyną rzeczą jest to, że będziesz musiał hostować serwer i jego procesy przy całym ruchu i tak dalej.