Android Получать UDP-трансляцию из настольного приложения C # по локальной сети? - PullRequest
4 голосов
/ 16 октября 2011

Я пытаюсь создать приложение для ПК на ПК для многих устройств Android, использующих одну и ту же сеть Wi-Fi.Устройства найдут IP-адрес сервера, получив от него широковещательную рассылку UDP, содержащую данные IP-адреса сервера.Я начал с создания примера вещателя udp в C # и получателя udp в java, но мне так и не удалось получить пакет на стороне Android.Вот код:

C #:

UdpClient listener = new UdpClient(listenPort);
IPEndPoint groupEP = new IPEndPoint(IPAddress.Broadcast, listenPort);
listener.Connect(groupEP);
listener.EnableBroadcast = true;
byte[] data = new byte[1024];
try
{
    while (!done)
    {
       Console.WriteLine("broadcast");

       Thread.Sleep(400);

       listener.Send(data,2);

     }

Код Android:

DatagramSocket socket;
try {
    socket = new DatagramSocket(11000);
    socket.connect(getBroadcastAddress(), 11000);
    socket.setBroadcast(true);
    byte[] buf = new byte[4];
    DatagramPacket packet = new DatagramPacket(buf, buf.length);
    socket.receive(packet);

Интернет-разрешение правильно указано в манифесте.все еще не может получать пакеты.

1 Ответ

2 голосов
/ 16 октября 2011

Предложения:

...