C#学习教程:sockets-for-pcl没有按预期进行多播分享


sockets-for-pcl没有按预期进行多播

我想在WP8.1上试验UDP多播,并在nuget上找到这个库 。
我创建了2个应用程序,一个在WP8.1上,一个在桌面上,我只提供C#代码,因为WPF在这里无关紧要。
WP8.1:

public sealed partial class MainPage : Page { int port = 11811; string ip = "239.123.123.123"; UdpSocketMulticastClient udp; public MainPage() { this.InitializeComponent(); this.NavigationCacheMode = NavigationCacheMode.Required; } async protected override void OnNavigatedTo(NavigationEventArgs e) { udp = new UdpSocketMulticastClient(); udp.MessageReceived += (sender, args) => { var data = Encoding.UTF8.GetString(args.ByteData, 0, args.ByteData.Length); Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { lblChat.Text += "n" + data; }); }; await udp.JoinMulticastGroupAsync(ip, port); } async private void btnSend_Click(object sender, RoutedEventArgs e) { var msgBytes = Encoding.UTF8.GetBytes(txtEntry.Text); await udp.SendMulticastAsync(msgBytes); } } 

桌面(几乎相同):

 public partial class MainWindow : Window { int port = 11811; string ip = "239.123.123.123"; UdpSocketMulticastClient udp; public MainWindow() { InitializeComponent(); udp = new UdpSocketMulticastClient(); udp.MessageReceived += (sender, args) => { var data = Encoding.UTF8.GetString(args.ByteData, 0, args.ByteData.Length); lblChat.Text += "n" + data; }; udp.JoinMulticastGroupAsync(ip, port); } async private void btnSend_Click(object sender, RoutedEventArgs e) { var msgBytes = Encoding.UTF8.GetBytes(txtEntry.Text); await udp.SendMulticastAsync(msgBytes); } } 

现在发生了什么(在实际手机上调试):

在WP8.1仿真器上(与桌面应用程序在同一台PC上运行):

我期待这是一个非常简单的任务,因为你看到代码是最小的。 难道我做错了什么? 或者图书馆是否有缺陷(有点怀疑)? 如果以前有人使用过这个库,我会很感激一些帮助,谢谢:)

上述就是C#学习教程:sockets-for-pcl没有按预期进行多播分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/959977.html

发表评论

邮箱地址不会被公开。 必填项已用*标注