我有一点问题 - 无法从Android应用程序接收数据。 我在android https://code.google.com/p/boxeeremote/source/browse/trunk/Boxee+Remote/src/com/andrewchatham/Discoverer.java?spec=svn28&r=28中使用此代码 这个代码在C#app
中public void ProcessResponses()
{
while (true)
{
int port = 2562;
UdpClient UDP_packet = new UdpClient(port);
UDP_packet.EnableBroadcast = true;
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
IPAddress from_addr = null;
Boolean gogo = false;
while (!gogo)
{
Byte[] receiveBytes = UDP_packet.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.UTF8.GetString(receiveBytes);
Console.WriteLine(returnData);
from_addr = RemoteIpEndPoint.Address;
}
//send UDP packet
IPEndPoint ipEndPoint = new IPEndPoint(from_addr, port);
Byte[] sendBytes = Encoding.UTF8.GetBytes("94dbF5");
UDP_packet.Send(sendBytes, sendBytes.Length, ipEndPoint);
UDP_packet.Close();
Thread.Sleep(500);
}
}
public void Run()
{
Thread t = new Thread(ProcessResponses);
t.IsBackground = true;
t.Start();
}
数据不会出现在C#app中。 Wireshark无法看到来自android的广播数据。 我正在使用eclipse与模拟器。
答案 0 :(得分:0)
在您的代码中,名为gogo的值总是为false - 您有无限循环,因此不会执行发送UDP数据包的更多代码。
Boolean gogo = false;
while (!gogo){