gpt4 book ai didi

c# - 如何在 .NET 中检测通过串行端口或以太网连接的设备状态的变化

转载 作者:可可西里 更新时间:2023-11-01 02:50:23 24 4
gpt4 key购买 nike

我有一个应用程序可以通过串口和以太网连接到 Controller 。 Controller 不断地向 PC 抛出数据。我正在用 C# 编写应用程序。我在 C# 中创建了 SerialPort 对象并在 dataReceived 方法中接收数据。类似地,对于以太网,我使用了 TCPListener 及其方法 startAcceptClient 来接受来自客户端的连接。

现在,我的问题是 Controller 是否已关闭或电缆是否已从 PC 上拔下;如何在应用程序中检测这些事件?

最佳答案

我对 TCPListener 不是很熟悉,但是对于 SerialPort 我使用了一个计时器,每次滴答我都会检查端口是否仍然打开

private void ComTimer_Tick(object sender, EventArgs e)
{
if (SerialPort.IsOpen)
{
dostuff
}
else if (!SerialPort.IsOpen)
{
ComCheckTimer.Stop();
MessageBox.Show("Connection lost");
}
}

还有定时器

ComCheckTimer = new Timer();
ComCheckTimer.Tick += new EventHandler(ComTimer_Tick);
ComCheckTimer.Interval = 1000;

这将创建一个每 1000 毫秒计时一次的计时器

关于c# - 如何在 .NET 中检测通过串行端口或以太网连接的设备状态的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48441055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com