Esempio n. 1
0
        private void CameraLogin()
        {
            var  ipAddress = new byte[16];
            uint dwPort    = 0;

            if (
                !CHCNetSDK.NET_DVR_GetDVRIPByResolveSvr_EX(_cameraLogin.IpServerAddr, 7071, null, 0,
                                                           _cameraLogin.DomainBytes, (ushort)_cameraLogin.DomainBytes.Length, ipAddress, ref dwPort))
            {
                _lastError = CHCNetSDK.NET_DVR_GetLastError();
                DisplayMessage($"域名解析失败,错误号:{_lastError}");
                return;
            }

            _dvrAddress    = Encoding.UTF8.GetString(ipAddress).TrimEnd('\0');
            _dvrPortNumber = (ushort)dwPort;
            _loginUserId   = CHCNetSDK.NET_DVR_Login_V30(_dvrAddress, _dvrPortNumber, _cameraLogin.User, _cameraLogin.Password, ref _deviceInfo);

            if (_loginUserId < 0)
            {
                _lastError = CHCNetSDK.NET_DVR_GetLastError();
                DisplayMessage($"用户登录失败,错误号:{_lastError}");
                return;
            }
            DisplayMessage("用户登录成功。");
            _dwAChanTotalNum = _deviceInfo.byChanNum;
            _dwDChanTotalNum = _deviceInfo.byIPChanNum + (256 * (uint)_deviceInfo.byHighDChanNum);

            InfoIpChannel();
        }
Esempio n. 2
0
        private static void GetIpServerAddress()
        {
            var inited = CHCNetSDK.NET_DVR_Init();

            if (inited)
            {
                var    senum = Encoding.UTF8.GetBytes("DS-7804N-K1/C0420161112CCRR677808992WVU");
                byte[] devIp = new byte[2048];
                uint   port  = 0;
                var    ret   = CHCNetSDK.NET_DVR_GetDVRIPByResolveSvr_EX("114.55.175.99", 7071, null, 0, senum, (ushort)senum.Length, devIp,
                                                                         ref port);
                Console.WriteLine(ret);
                if (!ret)
                {
                    Console.WriteLine(CHCNetSDK.NET_DVR_GetLastError());
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// DDNS方式获取IP地址
        /// </summary>
        /// <param name="DNSAddr"></param>
        /// <param name="DVRIPAddress"></param>
        /// <param name="DVRPortNumber"></param>
        /// <returns></returns>
        public bool GetIPAddr(string DNSAddr, ref string DVRIPAddress, ref Int16 DVRPortNumber)
        {
            byte[] HiDDNSName   = System.Text.Encoding.Default.GetBytes(DNSAddr);
            byte[] GetIPAddress = new byte[16];
            uint   dwPort       = 0;
            bool   ret          = false;

            if (CHCNetSDK.NET_DVR_GetDVRIPByResolveSvr_EX("www.hik-online.com", (ushort)80, HiDDNSName, (ushort)HiDDNSName.Length, null, 0, GetIPAddress, ref dwPort))
            {
                DVRIPAddress  = System.Text.Encoding.UTF8.GetString(GetIPAddress).TrimEnd('\0');
                DVRPortNumber = (Int16)dwPort;
                ret           = true;
            }
            else
            {
                m_lastErr = CHCNetSDK.NET_DVR_GetLastError();
            }

            return(ret);
        }
Esempio n. 4
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (m_lUserID < 0)
            {
                string DVRIPAddress  = textBoxIP.Text;                //设备IP地址或者域名 Device IP
                Int16  DVRPortNumber = Int16.Parse(textBoxPort.Text); //设备服务端口号 Device Port
                string DVRUserName   = textBoxUserName.Text;          //设备登录用户名 User name to login
                string DVRPassword   = textBoxPassword.Text;          //设备登录密码 Password to login

                if (checkBoxHiDDNS.Checked)
                {
                    byte[] HiDDNSName   = System.Text.Encoding.Default.GetBytes(textBoxIP.Text);
                    byte[] GetIPAddress = new byte[16];
                    uint   dwPort       = 0;
                    if (!CHCNetSDK.NET_DVR_GetDVRIPByResolveSvr_EX("www.hik-online.com", (ushort)80, HiDDNSName, (ushort)HiDDNSName.Length, null, 0, GetIPAddress, ref dwPort))
                    {
                        iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                        str      = "NET_DVR_GetDVRIPByResolveSvr_EX failed, error code= " + iLastErr; //域名解析失败,输出错误号 Failed to login and output the error code
                        DebugInfo(str);
                        return;
                    }
                    else
                    {
                        DVRIPAddress  = System.Text.Encoding.UTF8.GetString(GetIPAddress).TrimEnd('\0');
                        DVRPortNumber = (Int16)dwPort;
                    }
                }

                //登录设备 Login the device
                m_lUserID = CHCNetSDK.NET_DVR_Login_V30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword, ref DeviceInfo);
                if (m_lUserID < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    str      = "NET_DVR_Login_V30 failed, error code= " + iLastErr; //登录失败,输出错误号 Failed to login and output the error code
                    DebugInfo(str);
                    return;
                }
                else
                {
                    //登录成功
                    DebugInfo("NET_DVR_Login_V30 succ!");
                    btnLogin.Text = "Logout";

                    dwAChanTotalNum = (uint)DeviceInfo.byChanNum;

                    if (DeviceInfo.byIPChanNum > 0)
                    {
                        InfoIPChannel();
                    }
                    else
                    {
                        for (i = 0; i < dwAChanTotalNum; i++)
                        {
                            ListAnalogChannel(i + 1, 1);
                            iChannelNum[i] = i + (int)DeviceInfo.byStartChan;
                        }

                        comboBoxView.SelectedItem = 1;
                        // MessageBox.Show("This device has no IP channel!");
                    }
                }
            }
            else
            {
                //注销登录 Logout the device
                if (m_lRealHandle >= 0)
                {
                    DebugInfo("Please stop live view firstly"); //登出前先停止预览 Stop live view before logout
                    return;
                }

                if (!CHCNetSDK.NET_DVR_Logout(m_lUserID))
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    str      = "NET_DVR_Logout failed, error code= " + iLastErr;
                    DebugInfo(str);
                    return;
                }
                DebugInfo("NET_DVR_Logout succ!");
                listViewIPChannel.Items.Clear();//清空通道列表 Clean up the channel list
                m_lUserID     = -1;
                btnLogin.Text = "Login";
            }
            return;
        }
Esempio n. 5
0
        public static void recordLogin()
        {
            if (m_lUserID < 0)
            {
                string DVRIPAddress  = myForm.textBoxIP.Text;                //设备IP地址或者域名 Device IP
                Int16  DVRPortNumber = Int16.Parse(myForm.textBoxPort.Text); //设备服务端口号 Device Port
                string DVRUserName   = myForm.textBoxUserName.Text;          //设备登录用户名 User name to login
                string DVRPassword   = myForm.textBoxPassword.Text;          //设备登录密码 Password to login

                if (myForm.checkBoxHiDDNS.Checked)
                {
                    byte[] HiDDNSName   = System.Text.Encoding.Default.GetBytes(myForm.textBoxIP.Text);
                    byte[] GetIPAddress = new byte[16];
                    uint   dwPort       = 0;
                    if (!CHCNetSDK.NET_DVR_GetDVRIPByResolveSvr_EX("www.hik-online.com", (ushort)80, HiDDNSName, (ushort)HiDDNSName.Length, null, 0, GetIPAddress, ref dwPort))
                    {
                        iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                        str      = "NET_DVR_GetDVRIPByResolveSvr_EX failed, error code= " + iLastErr; //域名解析失败,输出错误号 Failed to login and output the error code
                        DebugInfo(str);
                        return;
                    }
                    else
                    {
                        DVRIPAddress  = System.Text.Encoding.UTF8.GetString(GetIPAddress).TrimEnd('\0');
                        DVRPortNumber = (Int16)dwPort;
                    }
                }

                //登录设备 Login the device
                m_lUserID = CHCNetSDK.NET_DVR_Login_V30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword, ref myForm.DeviceInfo);
                if (m_lUserID < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    //str = "NET_DVR_Login_V30 failed, error code= " + iLastErr; //登录失败,输出错误号 Failed to login and output the error code
                    str = "登录录像机失败,请检查录像机网络,错误代码:" + iLastErr;
                    MessageBox.Show(str);
                    DebugInfo(str);
                    return;
                }
                else
                {
                    //登录成功
                    //DebugInfo("NET_DVR_Login_V30 succ!");
                    DebugInfo("登录成功,连接上录像机!");
                    recordStatus = 1;

                    //btnLogin.Text = "Logout";
                    myForm.btnLogin.Text = "退出";
                    MessageBox.Show("登录成功, 连接上录像机!");
                    myForm.dwAChanTotalNum = (uint)myForm.DeviceInfo.byChanNum;
                    myForm.dwDChanTotalNum = (uint)myForm.DeviceInfo.byIPChanNum + 256 * (uint)myForm.DeviceInfo.byHighDChanNum;
                    if (myForm.dwDChanTotalNum > 0)
                    {
                        myForm.InfoIPChannel();
                    }
                    else
                    {
                        for (loopLogo = 0; loopLogo < myForm.dwAChanTotalNum; loopLogo++)
                        {
                            myForm.ListAnalogChannel(loopLogo + 1, 1);
                            iChannelNum[loopLogo] = loopLogo + (int)myForm.DeviceInfo.byStartChan;
                        }

                        myForm.comboBoxView.SelectedItem = 1;
                        // MessageBox.Show("This device has no IP channel!");
                    }
                }
            }
            else
            {
                //注销登录 Logout the device
                if (m_lRealHandle >= 0)
                {
                    //DebugInfo("Please stop live view firstly"); //登出前先停止预览 Stop live view before logout
                    DebugInfo("请先停止预览,然后再退出登录!");
                    return;
                }

                if (!CHCNetSDK.NET_DVR_Logout(m_lUserID))
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    str      = "退出登录失败,错误代码:" + iLastErr;
                    //str = "NET_DVR_Logout failed, error code= " + iLastErr;
                    DebugInfo(str);
                    return;
                }
                // DebugInfo("NET_DVR_Logout succ!");
                DebugInfo("退出成功!");
                recordStatus = 0;
                myForm.listViewIPChannel.Items.Clear();//清空通道列表 Clean up the channel list
                m_lUserID = -1;
                // btnLogin.Text = "Login";
                myForm.btnLogin.Text = "登录";
            }
            return;
        }