Android的通过LAN从C#桌面应用程序接收UDP广播? [英] Android Receive UDP broadcast from C# desktop app over LAN?

查看:124
本文介绍了Android的通过LAN从C#桌面应用程序接收UDP广播?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图创建使用相同的Wi-Fi网络的多个Android设备在计算机上的应用程序断绝。
这些设备将通过接收UDP广播从它包含服务器IP数据发现服务器的IP。
我创建在Java在C#和UDP接收样本UDP广播开始了,但我从来没有设法在Android端的数据包。这里是code:

I'm trying to create a sever application on PC for many android devices using the same wi-fi network. The devices will find the server's IP by receiving UDP broadcast from it contains the server IP data. I've started by creating a sample udp broadcaster in C# and udp receiver in java but I never managed to get the packet on the android side . here is the code :

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的code:

Android code :

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);

互联网权限在清单中正确设置。仍然无法接收数据包。

The Internet Permission is set correctly in the manifest. still not able to receive the packets.

推荐答案

建议:


  • 请确保你没有任何防火墙(软件或硬件)阻止你

  • Make sure you don't have any firewalls (software or hardware) blocking you

考虑使用Wireshark的:

Consider using Wireshark:

http://www.wireshark.org/

看看下面这个例子:

HTTP://$c$c.google.com/p/ boxeeremote /维基/ AndroidUDP

这篇关于Android的通过LAN从C#桌面应用程序接收UDP广播?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆