我正在开发一个应用程序,其中广播是必不可少的。 我创建了两个项目客户端和服务器。 我能够发送广播消息,但我没有在服务器项目中接收。 我的代码如下

服务器:

    private DatagramSocket _udpSocket = new DatagramSocket();
    private async void Button_Click_1(object sender, RoutedEventArgs e)
    {
        _udpSocket.MessageReceived += _udpSocket_MessageReceived;
       
        await _udpSocket.BindServiceNameAsync("4777");                       
    }

    void _udpSocket_MessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs args)
    {
      
    }

客户

        HostName h = new HostName("255.255.255.255");
        IOutputStream outStream = await _socket.GetOutputStreamAsync(h, "4777");
       
        DataWriter de = new DataWriter(outStream);
        de.WriteByte(new byte());
        await de.StoreAsync();
        de.DetachBuffer();

但是如果在客户端我用本地 IPAddress 替换 255.255.255.255,我可以在服务器上接收消息。

问题是什么?

#1楼 票数:2

如果我记得我的网络 101 课,当你进行广播时,数据包不会发回给你,只会发回网络上的所有其他计算机(我可能错了)。 另外,就像 TimVK 在他的评论中所说的那样,您应该尝试使用网络的广播地址而不是一般广播(对于网络192.168.0.0/24 (掩码255.255.255.0 ),广播将是192.168.0.255

  ask by nucleons translate from so

未解决问题?本站智能推荐:

1回复

在C#/ Win8中的StreamSocket上等待消息

我正在尝试作为辅助项目在Windows 8中构建IRC客户端,作为学习网络编程的一种方式。 但是,我找不到构造侦听器的最佳方法。 我有一个创建StreamSocket并连接到服务器的类。 现在我需要让我的类侦听来自服务器收到的消息,并在消息传入回调委托。据我所知,StreamSocke
1回复

WinRT写入TCP流不起作用

我已经开始开发“ WinRT”应用程序(适用于Windows 8的“ Metro”风格的应用程序)。 该应用程序应通过TCP流读取和写入一些数据。 读书很好,但是写作不起作用。 在下面,您可以找到使用完整的.NET Framework的代码(有效): 相比之下,以下代码不起作用:
8回复

Windows 8中的Metro应用程序如何与同一台计算机上的后端桌面应用程序通信?

在这种情况下,您使用新的Metro风格的应用程序为Windows 8构建了UI前端,并希望它与在同一本地计算机上的桌面上运行的.NET应用程序(例如,Windows服务应用程序)进行通信。 metro应用程序和桌面应用程序之间有哪些形式的进程间通信? 感谢Visual Studio团
3回复

ScrollViewer的ScrollToHorizo​​ntalOffset在Windows 8应用中不起作用

我有一个Windows应用商店应用程序,其中包含ScrollViewer和一个Image 。 当我双击ScrollViewer我希望它将Image缩放到其宽度。 这部分不是问题,但我也希望将Image放大后居中。 我尝试在ScrollViewer上调用ScrollToHorizontalOffse
2回复

String.ElementAt()在Windows 8应用程序中不起作用

我正在努力寻找任何资源来解释为什么Windows 8应用程序中不存在以下代码(我讨厌使用ToCharArray,对此我实在太懒了)。 此代码在我的桌面版本中可以完美运行,但不适用于该应用程序。 提前致谢 :)
2回复

在ComboBoxItem上绑定IsEnabled不起作用

我有这个型号: 在我的视图模型,我得到了一个列表Options类型ObservableCollection<Option> 。 我使用这段XAML代码: 我在列表中添加了一些Option ,其中一些Option将Enabled属性设置为true而其他选项则没有。
1回复

Syncfusion WinRT:在版本12.2.0.36中工作的代码异常,现在在版本13.1.0.21中不起作用

我在syncfusion论坛上询问了这个问题,但我想我也可以在这里尝试一下 我前一段时间从事一个项目,该项目使用Syncfusion for WinRT版本12.2.0.36,它具有一些pdf操作,例如将图像添加到pdf。 经过一些努力,它开始工作,并且代码的一部分是这样的 这样
1回复

在Windows 8中删除StorageFile

我想每10秒捕获一次图像。 为此,我将使用Timer类,它将运行以下代码: 目前,我在点击按钮时调用上述函数, 传输图像后,我想删除该文件,因为我会将其发送到Web服务器。 但是,我没有看到imagePreivew在单击按钮时得到更新,但是当我不删除文件时,每次按下按钮时,im