如何同时连接4个ZKTeco设备并实时获取其信息?

时间:2019-06-10 19:37:54

标签: c# sdk zkteco

我正在用C#编写程序,以获取有关登录和注销ZKTeco设备的信息。

我可以使用RealTimeEvent函数从设备接收信息。 但是我不能做一个4设备。连接新设备后,先前的设备将断开连接。

该问题的解决方案是什么?

当然,我已经查看并研究了以下链接,但并没有帮助我 (ZKTeco Biometric Device Getting Started

    NorconectTcp("172.27.66.49", "4371", "0");
    Noorsta_RegRealTime(SDK.GetMachineNumber());
    NorconectTcp("172.27.66.50", "4370", "0");
    Noorsta_RegRealTime(SDK.GetMachineNumber());


  public int Noorsta_RegRealTime(int MachineNumber)
    {
        if (GetConnectState() == false)
        {
            lblOutputInfo.Items.Add("*Please connect first!");
            return -1024;
        }

        int ret = 0;

        if (axCZKEM1.RegEvent(MachineNumber, 65535))//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
        {
             //only for color device

            this.axCZKEM1.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(zxnoo);
          //  this.axCZKEM1.OnEnrollFingerEx += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(axCZKEM1_OnEnrollFingerEx);

            //only for black&white device
          //  this.axCZKEM1.OnAttTransaction -= new zkemkeeper._IZKEMEvents_OnAttTransactionEventHandler(axCZKEM1_OnAttTransaction);
          //  this.axCZKEM1.OnEnrollFinger += new zkemkeeper._IZKEMEvents_OnEnrollFingerEventHandler(axCZKEM1_OnEnrollFinger);


            ret = 1;
        }
        else
        {
            axCZKEM1.GetLastError(ref idwErrorCode);
            ret = idwErrorCode;

            if (idwErrorCode != 0)
            {
                lblOutputInfo.Items.Add("*RegEvent failed,ErrorCode: " + idwErrorCode.ToString());
            }
            else
            {
                lblOutputInfo.Items.Add("*No data from terminal returns!");
            }
        }
        return ret;
    }


public     void zxnoo(string EnrollNumber, int IsInValid, int AttState, int VerifyMethod, int Year, int Month, int Day, int Hour, int Minute, int Second, int WorkCode)
    {

        string time = Year + "-" + Month + "-" + Day + " " + Hour + ":" + Minute + ":" + Second;
        NEnrollNumber = EnrollNumber;
        NIsInValid = IsInValid;
        NAttState = AttState;
        NVerifyMethod = VerifyMethod;
        NYear = Year; NMonth = Month; NDay = Day; NHour = Hour; NMinute = Minute;

        MessageBox.Show("Verify OK.UserID=" + EnrollNumber + " isInvalid=" + IsInValid.ToString() + " state=" + AttState.ToString() + " verifystyle=" + VerifyMethod.ToString() + " time=" + time);


    }

我研究了公司的主要演示,但无法解决问题。 我可以使用RealTimeEvent函数从设备接收信息。

我必须一次连接4台设备并提取其信息。但是我不能做一个4设备。连接新设备后,先前的设备将断开连接。

0 个答案:

没有答案