从多播服务器接收图像(在 Android 中)

Receive image (in Android) from multicast server

我有一台多播 image/data 的 PC 服务器。我想在 android phone 中开发一个应用程序来接收 image/data。你能建议我做这件事的步骤吗?提前致谢

既然你问了步骤。我用一些 java 伪代码展示了高级步骤。

MulticastSocket socket; 
MulticastLock mcLock;
WifiLock wifiLock;
DatagramPacket dgram;



// make a socket
socket = new MulticastSocket(...)

// join the multicast group
socket.joinGroup( <your server> )

// obtain wifi lock
wifiLock = ((WifiManager) 
    THIS_CONTEXT.getSystemService(THIS_CONTEXT.WIFI_SERVICE)).createWifiLock("clientWifiLock");
wifiLock.acquire();

// obtain multicast lock
mcLock = ((WifiManager) THIS_CONTEXT.getSystemService(Context.WIFI_SERVICE))
    .createMulticastLock("replicationMulticastLock");
mcLock.acquire();

// make a datagram packet for receiving
dgram  = new DatagramPacket(...);

// receive data
socket.receive(dgram);
// loop if necessary and receive more data and save it in a buffer

您可能还需要清单文件中的以下权限 使用权限 android:name="android.permission.ACCESS_WIFI_STATE" 使用权限 android:name="android.permission.CHANGE_WIFI_STATE" 使用权限 android:name="android.permission.CHANGE_NETWORK_STATE" 使用权限 android:name="android.permission.INTERNET" 使用权限 android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" 使用权限 android:name="android.permission.ACCESS_NETWORK_STATE"