Exemple #1
0
        private void DisposeUDPPacket(int recvs)
        {
            if (recvs < MIN_RESPOND_UDP_LENGHT)
            {
                return;
            }

            int      index   = 0;
            uint     version = (uint)GetInt(this.recvBuffer_, ref index);
            HCmdType cmd     = (HCmdType)GetShort(this.recvBuffer_, ref index);

            switch (cmd)
            {
            case HCmdType.kSearchDeviceAnswer:
                this.RecvSearchAnswer(recvs);
                break;

            case HCmdType.kSDKCmdAnswer:
                this.RecvSDKCmdAnswer(recvs);
                break;

            default:
                break;
            }
        }
Exemple #2
0
        private void XmlRespond(byte[] buffer, int len)
        {
            if (this.cbbDeviceID.InvokeRequired)
            {
                byte[] copy = new byte[len];
                Array.Copy(buffer, copy, len);
                this.Invoke(UDPServices.GetInstance().xmlRespond_, new object[] { copy, len });
                return;
            }

            int      index   = 0;
            int      version = ISocket.GetInt(buffer, ref index);
            HCmdType cmd     = (HCmdType)ISocket.GetShort(buffer, ref index);
            string   id      = ISocket.GetString(buffer, ref index, UDPServices.MAX_DEVICE_ID_LENGHT);

            if (id.IndexOf('\0') >= 0)
            {
                id = id.Remove(id.IndexOf('\0'));
            }

            if (id != this.cbbDeviceID.Text)
            {
                return;
            }

            string xml = ISocket.GetString(buffer, ref index, len - 6 - UDPServices.MAX_DEVICE_ID_LENGHT);

            this.ParseXml(xml);
        }