udpclient.receive()突然停止接收

时间:2018-12-10 12:13:54

标签: c# udpclient


我正在使用export class UserComponent implements OnInit { hint = "hi santu"; constructor() { } ngOnInit() { } creatediv() { console.log("hello"); const maindiv = document.createElement("div"); const inp = document.createElement("input"); inp.setAttribute('type', 'button'); inp.setAttribute('value', 'Show'); maindiv.appendChild(inp); // inp.type = "button"; // inp.value = "click me"; inp.onclick = this.getSubDiv; const first = document.getElementById('first'); first.appendChild(maindiv); } getSubDiv(e) { const show_name = document.createElement('div'); show_name.innerText = "Santanu"; console.log(this.hint); //here this.hint can't access } } 从单个主机接收数据(实际上,它是一个微控制器,每4毫秒发送32字节的数据。
我写的程序很简单。
我正在{(Program.cs)中这样初始化UdpClient

UdpClient

之后,我在Form_Load事件中执行此操作:

public static UdpClient client = new UdpClient(1414);

,然后像这样调用static UdpClient client = Program.client; IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);

client.Recieve()

程序在我自己的系统上运行正常(使用Windows 10)。但是,当我在Windows 7上随机运行此程序时,但有100%的机会 Task.Run(() => { while (true) { try { data = client.Receive(ref RemoteIpEndPoint); } catch (Exception ex) { String err_type = ex.GetType().Name; if (err_type == "SocketException") { MessageBox.Show("Cannot Find The Device.", "Device Error."); } } } }); 停止工作,该程序不再接收任何数据。没有异常被抛出。为了找到问题的根源,我安装了Wireshark来测试是否有任何传入的数据。答案是否定的(LAN端口指示灯也停止闪烁)。我感到困惑的是,这不会在Windows 10上发生。

2 个答案:

答案 0 :(得分:0)

问题是,您会错过除SocketException之外的所有异常。 要了解发生了什么,请重写您的catch块:

printf

答案 1 :(得分:0)

结果证明我的代码完全没问题。
这是我们这方面的硬件问题。