1

소켓 프로그래밍을 사용하여 클라이언트 서버 스레드에서 작업하고 있습니다 ... 클라이언트와 서버 모두 Android 디바이스, 핫스팟이 활성화 된 서버 및 Wi-Fi를 사용하는 클라이언트입니다. 이제 클라이언트는 Server의 암호를 가지고 있으며 서버에 이미 연결되어 있지만 이제는 서버간에 IP를 보내거나받는 데 필요한 호스트 주소가 필요합니다. 서버에는 IP가 있고 클라이언트에는 IP가 있지만 클라이언트가 서버 IP를 자동으로 가져 오는 방법은 무엇입니까?연결 한 후 wifi 핫스팟의 로컬 주소 (서버)를 가져옵니다

나는

WifiInfo wif = mWifiManager.getConnectionInfo(); 
int wifI = wif.getIpAddress(); 

String wifiS = (wifI & 0xFF)+ "."+((wifI >> 8) & 0xFF)+"."+((wifI >> 16) & 0xFF)+"."+((wifI >> 24) & 0xFF); 

를 사용하지만, 그것은 단지 클라이언트 자신의 IP ... 해결책이를 위해 무엇 을 준다 알아?

+0

핫스팟에 연결되었을 때'mWifiManager.getDhcpInfo()'를보십시오. 핫스팟은 DHCP 서버 역할을합니다. 'DhcpInfo.gateway' 또는'DhcpInfo.serverAddress'는 여러분에게 핫스팟의 IP를 제공합니다. –

+0

감사합니다 !!! 그것은 일했습니다 ... 제가 투표 할 수 있도록 답변으로 게시하십시오. :) – Charchit

답변

5

핫스팟에 연결되어있을 때 WifiManager.getDhcpInfo()을 살펴보십시오. 핫스팟은 DHCP 서버 역할을합니다. DhcpInfo.gateway 또는 DhcpInfo.serverAddress은 핫스팟의 IP를 제공해야합니다. -