Пример #1
0
        private void OnReceiveMessage(object sender, Hik.Communication.Scs.Communication.Messages.MessageEventArgs e)
        {
            var message = (AuthMessage)e.Message;

            Buffer = message.Data;

            if (PacketService.HasRecvPacket(message.OpCode))
            {
                var packetType    = PacketService.GetRecvPacketType(message.OpCode);
                var packetHandler = (ClientReceivePacket)Activator.CreateInstance(packetType);

                try
                {
                    packetHandler.Process(this);
                }
                catch
                {
                    Log.Error($"Error when handle packet {message.OpCode:X4}:{_client}");
                }
            }
            else
            {
                Log.Error($"No Handler for OPC: {message.OpCode:X4}, Length={Buffer.Length}");
            }
        }
        private void messenger_MessageReceived(object sender, Hik.Communication.Scs.Communication.Messages.MessageEventArgs e)
        {
            try
            {
                Cmd cmd = e.Message as Cmd;
                if (cmd == null)
                {
                    return;
                }

                OnMessageReceived(cmd);
            }
            catch (System.Exception ex)
            {
                EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine));
            }
        }
Пример #3
0
        void Client_MessageReceived(object sender, Hik.Communication.Scs.Communication.Messages.MessageEventArgs e)
        {
            Message.Message message = (Message.Message)e.Message;
            Buffer = message.Data;

            if (OpCodes.Recv.ContainsKey(message.OpCode))
            {
                ((ARecvPacket)Activator.CreateInstance(OpCodes.Recv[message.OpCode])).Process(this);
            }
            else
            {
                string opCodeLittleEndianHex = BitConverter.GetBytes(message.OpCode).ToHex();
                Log.Debug("Unknown LsPacket opCode: 0x{0}{1} [{2}]",
                          opCodeLittleEndianHex.Substring(2),
                          opCodeLittleEndianHex.Substring(0, 2),
                          Buffer.Length);

                Log.Debug("Data:\n{0}", Buffer.FormatHex());
            }
        }
Пример #4
0
 void Client_MessageReceived(object sender, Hik.Communication.Scs.Communication.Messages.MessageEventArgs e)
 {
     PacketHandler.HandleIncomingPacket(this, (Message.Message)e.Message);
 }