Esempio n. 1
0
        /// <summary>
        /// This handles an incoming message 
        /// </summary>
        /// <param name="msg">The received message</param>
        public void IncomingMessage(NetIncomingMessage msg)
        {
            if (!this.IsConnected)
                return;

            // Is this is a heartbeat message? (keep alive)
            if (msg.LengthBits == 0)
                return;

            // Decrypt the message
            msg.Decrypt(_netEncryption);
            if (msg.LengthBits == 0)
                return;

            // Here you can process your message like:
            Console.WriteLine("Received message: {0}", msg.ReadString());
        }
Esempio n. 2
0
        private void ProcessNetIncomingMessageData(NetIncomingMessage message, bool unconnected)
        {
            try
            {
                if (!unconnected)
                {
                    switch (message.SequenceChannel)
                    {
                        case 0: // Assume everything sent along channel 0 is encrypted
                            if (!message.Decrypt(_encryption))
                            {
                                Log.Critical("Unable to decrypt packet on Channel 0, please check the key that is being used.");
                            }
                            break;
                    }
                }

                //var data = Illisian.UnityUtil.Compression.ByteArrays.Decompress(message.ReadBytes(message.LengthBytes));
                var data = message.ReadBytes(message.LengthBytes);
                NetMessage _msg = new NetMessage();
                _msg.NetConnection = message.SenderConnection;
                _msg.Object = Illisian.UnityUtil.Serialise.Binary.ByteArrayToObject(data);
                _msg.SequenceChannel = message.SequenceChannel;
                _msg.UnconnectedMessage = unconnected;

                if (OnIncomingMessage != null)
                {
                    OnIncomingMessage(_msg);
                }
                else
                {
                    Log.Warn("Packets are being received but nothing is listening on the event hook");
                }
            }
            catch (Exception ex)
            {
                Log.Warn(String.Format("Unable to Process Incoming Message :: Error Message: {0}", ex.Message));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// This handles an incoming message 
        /// </summary>
        /// <param name="msg">The received message</param>
        public void IncomingMessage(NetIncomingMessage msg)
        {
            if (!this.IsConnected)
                return;

            //Heartbeat
            if (msg.LengthBytes == 0)
                return;

            msg.Decrypt(_netEncryption);
            if (msg.LengthBits == 0)
                return;

            // Handle messages
            Console.WriteLine(msg.ReadString());
        }