Android的通过LAN从C#桌面应用程序接收UDP广播? [英] Android Receive UDP broadcast from C# desktop app over LAN?
问题描述
我试图创建使用相同的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://$c$c.google.com/p/ boxeeremote /维基/ AndroidUDP
这篇关于Android的通过LAN从C#桌面应用程序接收UDP广播?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!