背景:我有connected a window form application with a bio-metric attendance machine (ZKTeco K20 Model)。它已连接,但是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
事件。设备上的此事件是否会关闭(考勤机)?还是我以错误的方式注册了它?
这里是link,其中是我通过教程获得的代码。
答案 0 :(得分:0)
objCZKEM.OnDisConnected设计用于在软断开但硬断开时清除资源。从程序中,当您调用objCZKEM.disconnect时,将触发事件。
如果通过电线断开设备的连接,则不会触发任何事件。