Как я могу подключить 4 устройства ZKTeco одновременно и получать их информацию в режиме реального времени? - PullRequest
0 голосов
/ 10 июня 2019

Я пишу программу на C # для получения информации о входе и выходе из устройств ZKTeco.

Я могу получать информацию с устройства с помощью функции RealTimeEvent.Но я не могу сделать 4 устройства.Предыдущее устройство отключается при подключении нового устройства.

Какое решение этой проблемы?

Конечно, я видел и изучал ссылку ниже, но мне не помогло ( ZKTeco Биометрическое устройство: начало работы )

    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 устройства.Предыдущее устройство отключается при подключении нового устройства.

...