我有ZKTeco Biometrics 设备,它使用This tutorial (C# ZKTeco Biometric Device Getting Started)与 C# windows 应用程序连接。
它工作正常,但一段时间后,我的应用程序无法 ping 设备。如下代码所示,我尝试每 25 秒 ping 一次设备。
private void TimerCheckPingAndCloseAttendanceForm() {
timerCheckPingAndCloseAttendanceForm = new Timer();
timerCheckPingAndCloseAttendanceForm.Tick += new EventHandler(CheckPingAndCloseAttendanceForm);
timerCheckPingAndCloseAttendanceForm.Interval = 25000;//25 seconds.
timerCheckPingAndCloseAttendanceForm.Start();
}
private void CheckPingAndCloseAttendanceForm(object sender, EventArgs e) {
string ipAddress = tbxDeviceIP.Text.Trim();
if (UniversalStatic.PingTheDevice(ipAddress) == false) {
//CloseAttendaceListForm();
IsDeviceConnected = false;
string infoString = "Application started on " + applicationStartDateTime.ToString() + " and ping failed on " + DateTime.Now.ToString() + " then, app closed while device ip is "+ ipAddress;
File.AppendAllText("ConnectionLog.txt", infoString + Environment.NewLine);
Application.Exit();
//timerCheckPingAndCloseAttendanceForm.Tick -= new EventHandler(CheckPingAndCloseAttendanceForm);
}
}
当我尝试从 cmd ping 命令时,设备显示destination host is unreachable
。但是每当我重新启动设备时,ping 工作正常。不知道问题出在哪里?是网络问题还是它的编码问题?
注意:我正在定期执行 ping 操作,因为Disconnected Event is not working。我假设 ping 失败意味着设备已与应用程序断开连接。