Xamarin Android UDP 捕获来自其他客户端的广播
Xamarin Android UDP catch Broadcast from other clients
我试图从网络中的客户端获取 UDP 消息,但是当我创建一个新的 UdpClient 时,我总是遇到异常:
System.Net.Sockets.SocketException: 'Access denied'
我的代码在控制台应用程序上非常简单且完美,但在 Xamarin 应用程序中却没有。
public void Demo()
{
var Server = new UdpClient(80);
var ResponseData = Encoding.ASCII.GetBytes("SomeResponseData");
while (true)
{
var ClientEp = new IPEndPoint(IPAddress.Any, 0);
var ClientRequestData = Server.Receive(ref ClientEp);
var ClientRequest = Encoding.ASCII.GetString(ClientRequestData);
Console.WriteLine("Recived {0} from {1}, sending response", ClientRequest, ClientEp.Address.ToString());
Server.Send(ResponseData, ResponseData.Length, ClientEp);
}
}
我也看到了 this 发帖,但这对我一点帮助都没有。
我正在使用 Android 11 进行测试。
我找到另一个 post,
所以如果你没有root你的设备,你就不能绑定端口80。
我试图从网络中的客户端获取 UDP 消息,但是当我创建一个新的 UdpClient 时,我总是遇到异常:
System.Net.Sockets.SocketException: 'Access denied'
我的代码在控制台应用程序上非常简单且完美,但在 Xamarin 应用程序中却没有。
public void Demo()
{
var Server = new UdpClient(80);
var ResponseData = Encoding.ASCII.GetBytes("SomeResponseData");
while (true)
{
var ClientEp = new IPEndPoint(IPAddress.Any, 0);
var ClientRequestData = Server.Receive(ref ClientEp);
var ClientRequest = Encoding.ASCII.GetString(ClientRequestData);
Console.WriteLine("Recived {0} from {1}, sending response", ClientRequest, ClientEp.Address.ToString());
Server.Send(ResponseData, ResponseData.Length, ClientEp);
}
}
我也看到了 this 发帖,但这对我一点帮助都没有。
我正在使用 Android 11 进行测试。
我找到另一个 post,