private void Client_MessageReceived(object sender, Hik.Communication.Scs.Communication.Messages.MessageEventArgs e)
        {
            // log
            log.Info("Receiving message from client");
            try
            {
                // Message used to send or received in StreamWireProtol is ScsRawDataMessage
                var msg = e.Message as ScsRawDataMessage;
                if (msg == null)
                {
                    return;
                }

                // Convert byte array to string
                var data = Encoding.ASCII.GetString(msg.MessageData);

                // Handle Package
                HandlePackage(data);

                // Response to Remote App
                var rep = Encoding.ASCII.GetBytes("r\nOK!\r\n");
                SendPackageToClient(rep);

                log.Info("Replying message to client successfully");
            }
            catch (Exception ex)
            {
                log.Error("Replying message failed", ex);
            }
        }
Example #2
0
        static void Client_MessageReceived(object sender, MessageEventArgs e)
        {
            //Client only accepts text messages
            var message = e.Message as ScsTextMessage;
            if (message == null)
            {
                return;
            }

            Console.WriteLine("Server sent a message: " + message.Text);
        }
Example #3
0
        void Client_MessageReceived(object sender, MessageEventArgs e)
        {
            var message = e.Message as ScsRawDataMessage; // accept only RawMessages
            if (message == null)
            {
                return;
            }

            //Get a reference to the client
            var client = (IScsServerClient)sender;

            CommandRecieved?.Invoke(client, message.MessageData);
        }
 static void Client_MessageReceived(object sender, MessageEventArgs e)
 {
     ++_messageCount;
     if (_messageCount == 1)
     {
         _stopwatch = Stopwatch.StartNew();
     }
     else if (_messageCount == Consts.MessageCount)
     {
         _stopwatch.Stop();
         Console.WriteLine(Consts.MessageCount + " message is received in " + _stopwatch.Elapsed.TotalMilliseconds.ToString("0.000") + " ms.");
     }
 }
Example #5
0
 static void Client_MessageReceived(object sender, MessageEventArgs e)
 {
     ++_messageCount;
     if (_messageCount % Consts.MessageCount == 1)
     {
         _stopwatch = Stopwatch.StartNew();
     }
     else if (_messageCount % Consts.MessageCount == 0)
     {
         _stopwatch.Stop();
         Consts.PrintStats(_stopwatch.ElapsedMilliseconds);
         _messageCount = 0;
     }
 }
        void ClientMessageReceived(object sender, MessageEventArgs e)
        {
            try
            {
                var connect = (IScsServerClient)sender;
                var message = e.Message as Protocols.GpsMessage;

                if (message.Data != null)
                    connect.SendMessage(message);

                OnMessageEvent(message.Location);
            }
            catch (Exception ex)
            {
                logger.Debug(ex.ToString());
            }
        }
        static void Client_MessageReceived(object sender, MessageEventArgs e)
        {
            ++_messageCount;

            var client = (IScsServerClient) sender;
            client.SendMessage(new ScsTextMessage("Hello from server!"));

            if (_messageCount % Consts.MessageCount == 1)
            {
                _stopwatch = Stopwatch.StartNew();
            }
            else if (_messageCount % Consts.MessageCount == 0)
            {
                _stopwatch.Stop();
                Consts.PrintStats(_stopwatch.ElapsedMilliseconds);
            }
        }
        static void Client_MessageReceived(object sender, MessageEventArgs e)
        {
            ++_messageCount;

            var client = (IScsServerClient) sender;
            client.SendMessage(new ScsTextMessage("Hello from server!"));

            if (_messageCount == 1)
            {
                _stopwatch = Stopwatch.StartNew();
            }
            else if (_messageCount == Consts.MessageCount)
            {
                _stopwatch.Stop();
                Console.WriteLine(Consts.MessageCount + " message is received in " + _stopwatch.Elapsed.TotalMilliseconds.ToString("0.000") + " ms.");
            }
        }
Example #9
0
        private void OnMessageReceived(object sender, MessageEventArgs e)
        {
            DataMessage message = (DataMessage)e.Message;
            Buffer = message.Data;

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

                Log.Debug("Data:\n{0}", Buffer.FormatHex());
            }
        }
Example #10
0
        static void Client_MessageReceived(object sender, MessageEventArgs e)
        {
            var message = e.Message as ScsTextMessage; //Server only accepts text messages
            if (message == null)
            {
                return;
            }

            //Get a reference to the client
            var client = (IScsServerClient)sender; 

            Console.WriteLine("Client sent a message: " + message.Text +
                              " (Cliend Id = " + client.ClientId + ")");

            //Send reply message to the client
            client.SendMessage(
                new ScsTextMessage(
                    "Hello client. I got your message (" + message.Text + ")",
                    message.MessageId //Set first message's id as replied message id
                    ));
        }
Example #11
0
        private void p1_udp_peer_MessageReceived(object sender, MessageEventArgs e)
        {
            EzLogger.GlobalLogger.info(string.Format("udp receive message from {0}: {1}", sender, e.Message));

            Cmd cmd = e.Message as Cmd;
            if (cmd == null)
                return;

            try
            {
                string sender_name = cmd.sender_name.ToLower();
                if (sender_name.Contains("p2"))
                    p2_udp_handler(sender as IPEndPoint, cmd);
                else if (sender_name.Contains("p4"))
                    p4_udp_handler(sender as IPEndPoint, cmd);
                else if (sender_name.Contains("p5"))
                    p5_udp_handler(sender as IPEndPoint, cmd);
            }
            catch (System.Exception ex)
            {
                EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine));
            }
        }
Example #12
0
 /// <summary>
 /// Handles MessageSent event of _communicationChannel object.
 /// 
 /// </summary>
 /// <param name="sender">Source of event</param><param name="e">Event arguments</param>
 private void CommunicationChannel_MessageSent(object sender, MessageEventArgs e)
 {
     this.OnMessageSent(e.Message);
 }
Example #13
0
 /// <summary>
 /// Handles MessageReceived event of _communicationChannel object.
 /// 
 /// </summary>
 /// <param name="sender">Source of event</param><param name="e">Event arguments</param>
 private void CommunicationChannel_MessageReceived(object sender, MessageEventArgs e)
 {
     IScsMessage message = e.Message;
     if (message is ScsPingMessage)
     {
         ICommunicationChannel communicationChannel = this._communicationChannel;
         ScsPingMessage scsPingMessage1 = new ScsPingMessage();
         scsPingMessage1.RepliedMessageId = message.MessageId;
         ScsPingMessage scsPingMessage2 = scsPingMessage1;
         communicationChannel.SendMessage((IScsMessage)scsPingMessage2);
     }
     else
         this.OnMessageReceived(message);
 }
        private void OnMessageReceived(object sender, MessageEventArgs e)
        {
            if (State == 0)
            {
                KeyMessage keyMessage = (KeyMessage)e.Message;
                System.Buffer.BlockCopy(keyMessage.Key, 0, Session.ClientKey1, 0, 128);
                Client.SendMessage(new KeyMessage { Key = Session.ServerKey1 });
                State++;
                return;
            }

            if (State == 1)
            {
                KeyMessage keyMessage = (KeyMessage)e.Message;
                System.Buffer.BlockCopy(keyMessage.Key, 0, Session.ClientKey2, 0, 128);
                Client.SendMessage(new KeyMessage { Key = Session.ServerKey2 });
                Session.Init();
                Client.WireProtocol = new GameProtocol(Session);
                State++;
                return;
            }

            GameMessage message = (GameMessage)e.Message;
            Buffer = message.Data;

            if (OpCodes.Recv.ContainsKey(message.OpCode))
            {
               GlobalLogic.PacketReceived(Account, OpCodes.Recv[message.OpCode], Buffer);

                ((ARecvPacket)Activator.CreateInstance(OpCodes.Recv[message.OpCode])).Process(this);
            }
            else
            {
                GlobalLogic.PacketReceived(Account, null, Buffer);

                string opCodeLittleEndianHex = BitConverter.GetBytes(message.OpCode).ToHex();
                Log.Debug("Unknown GsPacket opCode: 0x{0}{1} [{2}]",
                                 opCodeLittleEndianHex.Substring(2),
                                 opCodeLittleEndianHex.Substring(0, 2),
                                 Buffer.Length);

                Log.Debug("Data:\n{0}", Buffer.FormatHex());
            }
        }
Example #15
0
        /// <summary>
        /// Handles MessageReceived event of _communicationChannel object.
        /// </summary>
        /// <param name="sender">Source of event</param>
        /// <param name="e">Event arguments</param>
        private void CommunicationChannel_MessageReceived(object sender, MessageEventArgs e)
        {
            var message = e.Message;
            if (message is ScsPingMessage)
            {
                _communicationChannel.SendMessage(new ScsPingMessage { RepliedMessageId = message.MessageId });
                return;
            }

            OnMessageReceived(message);
        }
 protected override void Client_MessageRecevied(object sender, Hik.Communication.Scs.Communication.Messages.MessageEventArgs e)
 {
     base.Client_MessageRecevied(sender, e);
 }
Example #17
0
        protected void Client_MessageReceived(object sender, MessageEventArgs e)
        {
            try
            {
                var client = sender as IScsServerClient;
                var cmd = e.Message as Cmd;
                try
                {
                    ServerClientDictItem sci = _sclients[client.ClientId];
                    sci.RemainLifeNumber = DefaultLifeNumber;
                    if (string.IsNullOrWhiteSpace(sci.SenderName))
                        sci.SenderName = cmd.sender_name;
                }
                catch { }

                EzLogger.GlobalLogger.info(string.Format("tcp server receive message from {0}: {1}",
                    client.RemoteEndPoint, cmd.ToString()));

                if (client != null)
                {
                    //心跳自动回复,不需要进一步处理
                    if (cmd is HeartBeatCmd)
                        client.SendMessage(cmd);

                    if (MessageReceived != null)
                        MessageReceived(client, cmd);
                }
            }
            catch (System.Exception ex)
            {
                EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}",
                    ex.Message, ex.StackTrace, Environment.NewLine));
            }
        }
 void ClientMessageSent(object sender, MessageEventArgs e)
 {
     logger.Debug("gallileo sent: " + e.Message.ToString());
 }
Example #19
0
 static void Client_MessageReceived(object sender, MessageEventArgs e)
 {
     Console.WriteLine("A client sent a message: " + ((ScsTextMessage) e.Message).Text);
 }
        private void OnMessageReceived(object sender, MessageEventArgs e)
        {
            OuterNetworkMessage message = (OuterNetworkMessage)e.Message;
            Buffer = message.Data;

            if (OuterNetworkOpcode.Recv.ContainsKey(message.Opcode))
            {
                string opCodeLittleEndianHex = BitConverter.GetBytes(message.Opcode).ToHex();
                Log.Debug("Recieve [{0}]: 0x{1}{2} [{3}]",
                                 OuterNetworkOpcode.Recv[message.Opcode].Name,
                                 opCodeLittleEndianHex.Substring(2),
                                 opCodeLittleEndianHex.Substring(0, 2),
                                 Buffer.Length);

                Log.Debug("Data:\n{0}", Buffer.FormatHex());

                ((OuterNetworkRecvPacket)Activator.CreateInstance(OuterNetworkOpcode.Recv[message.Opcode])).Process(this);
            }
            else
            {
                string opCodeLittleEndianHex = BitConverter.GetBytes(message.Opcode).ToHex();
                Log.Debug("Unknown InnerOpcode: 0x{0}{1} [{2}]",
                                 opCodeLittleEndianHex.Substring(2),
                                 opCodeLittleEndianHex.Substring(0, 2),
                                 Buffer.Length);

                Log.Debug("Data:\n{0}", Buffer.FormatHex());
            }
        }
Example #21
0
 /// <summary>
 /// Handles MessageReceived event of _communicationChannel object.
 /// 
 /// </summary>
 /// <param name="sender">Source of event</param><param name="e">Event arguments</param>
 private void CommunicationChannel_MessageReceived(object sender, MessageEventArgs e)
 {
     if (e.Message is ScsPingMessage)
         return;
     this.OnMessageReceived(e.Message);
 }
Example #22
0
 protected void OnMessageReceived(object sender, MessageEventArgs e)
 {
 }
Example #23
0
        protected void client_MessageReceived(object sender, MessageEventArgs e)
        {
            try
            {
                var client = sender as IScsClient;
                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));
            }
        }