c# - Zkemkeeper OnDisconnectedEvent 未在 C# 中触发
问题描述
背景: 我已经将一个窗口表单应用程序与生物识别考勤机(ZKTeco K20 型号)连接起来。它已连接,但 OnDisconncted 事件存在问题。
我有这个代码片段,这里注册了 onDisconnected 事件,但不幸的是,它没有触发(每当我关闭设备或拔下网络电缆时)。
public bool Connect_Net(string IPAdd, int Port)
{
if (objCZKEM.Connect_Net(IPAdd, Port))
{
//65535, 32767
//if (objCZKEM.RegEvent(1, 32767))//old
if (objCZKEM.RegEvent(1, 65535))
{
//MessageBox.Show("Connect_Net");
// [ Register your events here ]
// [ Go through the _IZKEMEvents_Event class for a complete list of events
objCZKEM.OnConnected += ObjCZKEM_OnConnected;
//objCZKEM.OnDisConnected += objCZKEM_OnDisConnected;
objCZKEM.OnDisConnected += new _IZKEMEvents_OnDisConnectedEventHandler(objCZKEM_OnDisConnected);
objCZKEM.OnEnrollFinger += ObjCZKEM_OnEnrollFinger;
objCZKEM.OnFinger += ObjCZKEM_OnFinger;
objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(zkemClient_OnAttTransactionEx);
//objCZKEM.OnAttTransactionEx += new _IZKEMEvents_OnAttTransactionExEventHandler(objServerInteraction.zkemClient_OnAttTransactionEx);
objCZKEM.OnAlarm += OnAlarm;
objCZKEM.OnNewUser += OnNewUser;
objCZKEM.OnKeyPress += OnKeyPress;
}
return true;
}
return false;
}
事件的其余部分OnAttTransactionEx
执行得很好,但是每当我的考勤设备(Zketeco)关闭时,它就不会触发objCZKEM_OnDisConnected
事件。此事件是否在设备关闭(考勤机)时触发。?还是我以错误的方式注册它?
这是我通过教程获得此代码的链接。
解决方案
objCZKEM.OnDisConnected 旨在在设备软断开连接时清理资源,而不是硬断开连接。在您的程序中,当您调用 objCZKEM.disconnect 时,您会触发该事件。
如果设备通过电线断开,则不会触发任何事件。
推荐阅读
- python - 如何提取括号之间的子字符串,同时忽略Python中嵌套括号之间的子字符串?
- android - 用于多个功能测试的多个 apk 在 Play 商店中
- vue.js - Vuex 向对象添加新的数组属性,并以反应方式将元素推送到突变内的该对象
- node.js - 从内存中的字符串加载 TypeScript 模块?
- greedy - 单一解决方案问题的贪婪方法
- ios - 如何在IOS设备中垂直对齐Icon?
- django - 在 Django admin 中保存到模型之前再次提示 auth (request.user) 输入密码
- android - 带有更新查询的 MongoDB Stich Sync 在 Android 中不起作用
- java - 有时找不到 Xpth 元素
- java - 无法计数在java中使用pdfbox的广告字符