私は、クロスプラットフォームのUDPサーバクライアントの開発の初期段階にあります。私の場合、クライアントは、接続されているアンドロイド携帯電話にモバイルホットスポットオプションを使用してブロードキャストを送信します。Android 3G UDPブロードキャスト
私は現在、サーバとクライアントを同じデバイス上に置いてテストしています。しかし、私はボックスアドレスのリモートアプリのおかげで、ブロードキャストアドレスを取得する方法のみを知っています。
モバイルネットワークのブロードキャストアドレスを取得するには、以下のコードと同じことを行う方法を知っている人はいませんか?
だから、ここのコードです:ワシ目読者のために
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);
}
、あなたはアプリがブロードキャストアドレスを取得する他のデバイスとして機能するために、私は実際にこのコードを必要としないことを集めているでしょうWi-Fiからのものですが、まずこの1台のデバイスでいくつかのテストを行う必要があります。
ありがとうございます!
を見ます –
私が言ったように - あなたはできません。 NATは、インターネットとデバイス間の接続を開始できないようにします。 –
両方のデバイスが同じローカル(Wi-Fi)ネットワーク上にある場合にのみ機能します。 –