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; } }
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); }