2016-08-03 13 views
0

Ich versuche, 2 Geräte über Sockets zu verbinden, so dass sie Daten austauschen können. Sie sind auch über WLAN-Hotspot verbunden. Ich verwende Dienste.Android - Holen Sie sich die IP von meinem Hotspot-Host

Gerät 1 ist der Hotspot (wo der ServerSocket implementiert ist), Gerät 2 ist derjenige, der sich mit ihm verbindet (wo der Socket implementiert ist). Ich habe einige Nachforschungen angestellt, und ich bin in der Lage, die IP von jedem von ihnen zu bekommen (aber auf ihre eigene Klasse berechnet). Aber damit ich den Client-Socket erstellen kann, brauche ich die IP-Adresse des Hosts (das Telefon, das als Hotspot arbeitet) in der anderen Klasse. Ich kann es nicht auf der Server-Seite bekommen, weil dieser Teil des Codes nicht ausgeführt wird, da ich ein Telefon verwende, um das Hotspot-Netzwerk zu erstellen, und ein anderes, um eine Verbindung herzustellen.

Ich weiß, dass normalerweise die IP-Adresse eines Geräts, das Tethering ist, im Allgemeinen das gleiche ist, aber ich kann das nicht vertrauen, weil ich sicherstellen muss, dass es auf allen Telefonen funktioniert.

Also, wie kann ich die IP-Adresse des Servers (Hotspot Host) im Client (Telefon mit diesem Hotspot verbunden) Service?

+0

Wie ermitteln Sie die IP des Clients auf dem Client? – greenapps

+0

http://stackoverflow.com/questions/5387036/programmy-getting-the-gateway-and-subnet-mask-details – greenapps

+0

Um die IP des Clients auf dem Client zu erhalten, habe ich die getHostAddress() von der inetAddress verwendet. Ich würde eine Liste der Networkinfo bekommen und dann würde ich die inetadresse für jede dieser Netzwerkkonfigurationen bekommen und dann die getHostAddress() für das Objekt aufrufen, das keine Loopbackadresse war. Etwas Ähnliches: http://stackoverflow.com/a/10199498/6634292 –

Antwort

Verwandte Themen