与考勤设备通信并在c#.net应用程序中检索数据

时间:2017-03-21 10:56:51

标签: c#

我有一台型号为IN01的ZKTeco考勤设备。我试图将它与C#Windows窗体应用程序连接。我在SysWOW64文件夹中注册了64位版本的Zkemkeeper.dll。我有以下代码:

 zkemkeeper.CZKEM axCZKEM1 = new zkemkeeper.CZKEM();
bool bIsConnected;
    bIsConnected = axCZKEM1.Connect_Net(192.168.1.201, Convert.ToInt32(4370));
           //    bIsConnected = axCZKEM1.Connect_Com(Convert.ToInt32(4370), 1, 9600);

   if (bIsConnected == true)
                {
                    MessageBox.Show("Device Connected Successfully");
                }
                else
                {
                    MessageBox.Show("Device Not Connect");

                }

但我从其他部分得到了消息:

  

与ip通信或使用串行通信

使用puTTy我能够与ssh和串口通信。提前谢谢。

2 个答案:

答案 0 :(得分:0)

看起来Connect_Net期望第一个参数的字符串,请尝试:

bIsConnected = axCZKEM1.Connect_Net("192.168.1.201", Convert.ToInt32(4370));

答案 1 :(得分:0)

由于传递了“ new zkemkeeper.CZKEM(); ”,因此我们可以确认COM dll已成功注册并且应用程序已成功加载DLL。

这看起来像是网络问题。几种解决方法:

  • 检查子网掩码,设备和计算机之间的网关是否相同
  • 尝试在设备上更改IP,然后使用更新的IP执行您的应用程序
  • 读取axCZKEM1.GetLastError并检查错误代码(如果有的话)

请注意,该设备并不像计算机那样智能。