绝望了!还有人没?
话不多说先@人:
***链接停止解析*** ***链接停止解析*** ***链接停止解析*** ***链接停止解析*** @z诶呀我实在记不住你的名字 ***链接停止解析*** 等……
这个东西主要进行UDP套接字广播,,,
如果能解决这个问题那真是造福人类
昨天和今天上午,总计12小时,这个问题仍然没有解决!!!
抓狂了都
悬赏:如果谁能解决这个问题,我给他
ATh的内部测试以及永久免费!
你要什么我给你什么!!!!!!!!你要什么我给你什么!!!!!!!!你要什么我给你什么!!!!!!!!
症状:
我编了一个简单的UDP广播,代码相同。
测试机:这台sp4和asus。
编译全部通过。
网络:双无线。
简单UDP广播:
sp4=》asus 可以接收
asus=》sp4 无法收到消息
ATh:
sp4=》asus 简单广播可以接收,ATh无响应
asus=》sp4 无法收到消息
资源监视器:
ATh有发送(2k/s)无接收!
VS调试:
从未触发Receive Message事件!
代码如下:
using ATh.Controls;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.Networking;
using Windows.Networking.Sockets;
using Windows.Storage.Streams;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
namespace ATh.FirstPages
{
public sealed partial class DeviceDiscovery : Page
{
DatagramSocket socket = null;
public DeviceDiscovery()
{
this.InitializeComponent();
Loaded += OnLoaded;
Unloaded += OnUnloaded;
}
List<DeviceClass> ReceiveList = new List<DeviceClass>();
private void OnUnloaded(object sender, RoutedEventArgs e)
{
if (socket != null)
{
socket.MessageReceived -= OnMsgReceived;
socket.Dispose();
socket = null;
}
}
private async void OnLoaded(object sender, RoutedEventArgs e)
{
socket = new DatagramSocket();
socket.Control.MulticastOnly = true;
socket.MessageReceived += OnMsgReceived;
await socket.BindServiceNameAsync("2102");
DevicesView.ItemsSource = ReceiveList;
}
private async void OnMsgReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs args)
{
string remoteaddr = args.RemoteAddress.DisplayName;
DataReader reader = args.GetDataReader();
reader.UnicodeEncoding = UnicodeEncoding.Utf8;
uint len = reader.ReadUInt32();
string msg = reader.ReadString(reader.UnconsumedBufferLength);
char[] Mode = new char[2];
string ModeTo = "SF";
ModeTo.CopyTo(0, Mode, 0, 2);
char[] ModeFrom = new char[2];
msg.CopyTo(0, ModeFrom, 0, 2);
char[] CodeFrom = new char[4];
msg.CopyTo(2, CodeFrom, 0, 4);
string CodeTo = new string(CodeFrom);
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
if (//msg != null && len == 6 && ModeFrom == Mode
true)
{
DeviceClass DvItem = new DeviceClass { DeviceCode = CodeTo };
DvItem.CodeToItem();
ReceiveList.Add(DvItem);
System.Diagnostics.Debug.WriteLine(DvItem.ToString());
DvItem = null;
DevicesView.ItemsSource = ReceiveList;
}
});
}
private void IsLoaded(object sender, RoutedEventArgs e)
{
StatusChecker statusChecker = new StatusChecker();
TimerCallback tcb = statusChecker.CheckStatus;
Timer stateTimer = new Timer(tcb, null, 0, 5000);
}
private void Next_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(Eula));
}
private void DevicesView_ItemChanged(FrameworkElement sender, DataContextChangedEventArgs args)
{
NextButton.Content = "Next";
}
}
class StatusChecker
{
public StatusChecker()
{
}
public async void CheckStatus(object stateInfo)
{
using (DatagramSocket skt = new DatagramSocket())
{
Windows.Storage.ApplicationDataContainer localSettings =
Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder =
Windows.Storage.ApplicationData.Current.LocalFolder;
if (localSettings.Values["Node"] != null)
{
string content = "SF" + (string)localSettings.Values["Node"];
HostName broardaddr = new HostName(IPAddress.Broadcast.ToString());
IOutputStream outstream = await skt.GetOutputStreamAsync(broardaddr, "2102");
DataWriter writer = new DataWriter(outstream);
writer.UnicodeEncoding = UnicodeEncoding.Utf8;
uint len = writer.MeasureString(content);
writer.WriteUInt32(len);
writer.WriteString(content);
await writer.StoreAsync();
writer.Dispose();
}
}
}
}
}
有谁能解决这个问题,
你要什么我给你什么!!!!!!!!
万分感谢!!!!!!!!!!!!!
啊啊啊,整整用了12小时,还是没有找到解决方法!
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
Quoteclwp70316 发表于 2016-7-24 13:51
九幽Win10开发者交流群 53078485 你可以加这个群咨询
我只怕没人给我解决问题吧……
Quotetingtongku 发表于 2016-7-24 13:53
你at我也没用啊
我又不搞开发
也不是码农
大家想一想局域网里发送的东西接收不到可能有什么原因?
Quotezhangyiyu 发表于 2016-7-24 14:13
大家想一想局域网里发送的东西接收不到可能有什么原因?
唔,可能是设置问题吧如果一直是那台设备收不到
Quotezhangyiyu 发表于 2016-7-24 14:13
大家想一想局域网里发送的东西接收不到可能有什么原因?
网路共享关了什么吧
代码?我也来玩玩 ~ {:6_234:}
Target.Destination = 110
{
Start = CheckWaterBill
End = TenYear
Result = Jail
}
Quotezhangyiyu 发表于 2016-7-24 14:13
大家想一想局域网里发送的东西接收不到可能有什么原因?
你换过网络环境没?插网线试试
Quotetingtongku 发表于 2016-7-24 15:44
你换过网络环境没?插网线试试
就这破环境怎么换?再过10分钟我就去火星了,哪有两台设备?
Quotezhangyiyu 发表于 2016-7-24 16:48
就这破环境怎么换?再过10分钟我就去火星了,哪有两台设备?
网线互联组成局域网啊
说不定能行啊