我处于开发跨平台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)网络上时,它才会起作用。 –