我處於開發跨平臺UDP服務器客戶端的初期階段。在我的情況下,客戶端通過移動熱點選項向他們連接的Android手機發送廣播。Android 3G UDP廣播
我目前正在通過讓服務器和客戶端在同一設備上進行測試。但是,我只知道如何獲得廣播地址,這要感謝boxee遠程應用程序。
是否有人知道有一種方法可以像下面的代碼一樣執行,但要獲取移動網絡廣播地址?
所以,這裏是代碼:
InetAddress getBroadcastAdd(Context context) throws IOException {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
DhcpInfo dhcp = wifi.getDhcpInfo();
int broadcast = (dhcp.ipAddress & dhcp.netmask) | ~dhcp.netmask;
byte[] quads = new byte[4];
for (int k = 0; k < 4; k++)
quads[k] = (byte) ((broadcast >> k * 8) & 0xFF);
return InetAddress.getByAddress(quads);
}
對於老鷹眼睛的讀者,你會聚集,我其實並不需要此代碼,該應用在其他設備的工作會得到一個廣播地址從wifi上,但我確實需要先對這個設備進行一些測試。
在此先感謝!
我不需要上網,我想在Android設備作爲一個服務器,與其他設備連接到它,請求文件等等。 –
正如我所說 - 你不能。 NAT防止啓動互聯網到設備的連接。 –
只有兩臺設備位於同一本地(wifi)網絡上時,它纔會起作用。 –