【问题标题】:Unable to broadcast UDP message无法广播 UDP 消息
【发布时间】:2021-05-24 22:43:02
【问题描述】:

我正在尝试创建一个使用 UDP 广播消息进行通信的 WPF 应用程序。我了解我可以向 255.255.255.255 发送消息以广播消息。

var s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

var broadcast = IPAddress.Parse("255.255.255.255");

var buffer = Encoding.ASCII.GetBytes(message.ToString());
var endPoint = new IPEndPoint(broadcast, 11000);

s.SendTo(buffer, endPoint);

但是,我收到带有错误消息的 SocketException

试图以访问权限禁止的方式访问套接字。

它不是 UWP 应用程序,所以不确定是哪个权限或如何授予权限?

【问题讨论】:

标签: .net .net-5 udpclient


【解决方案1】:

基于异常,并且缺少任何实际代码,更不用说minimal, reproducible example,最可能的解释是您只是未能配置套接字以启用广播消息。

您可以通过以下两种方式之一解决此问题。可以直接调用SetSocketOption()方法,传入SocketOptionName.Broadcast的值,还有true的值:

udpClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);

或者,你可以设置EnableBroadcast属性,which willdo that for you

udpClient.EnableBroadcast = true;

【讨论】:

    猜你喜欢
    • 2019-05-12
    • 2014-03-12
    • 2012-09-17
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 2018-02-27
    • 1970-01-01
    相关资源
    最近更新 更多