示例#1
0
        public void SendPushShutdown(ReactorVirtualClient c)
        {
            EosPacket p = new EosPacket();

            p.Sender = ReactorServer.Id;
            p.Type   = EosPacketType.Shutdown;
            byte[] toSend = Encryption.AES_Encrypt(p.ToBytes(), c.Key, c.Salt);
            EosSignal.SendNotification(c.Address, SignalPort, toSend);
        }
示例#2
0
        protected virtual void SendPushRegistration(ReactorVirtualClient c)
        {
            EosPacket p = new EosPacket();

            p.Sender = ReactorServer.Id;
            p.Type   = EosPacketType.Registered;
            p.Data.Add(Encoding.Unicode.GetBytes(TimeToLive.ToString()));
            c.SendPacket(p.ToBytes());
        }
示例#3
0
 public void HandleReactorPacket(ReactorVirtualClient c, EosPacket p)
 {
     switch (p.Type)
     {
     case EosPacketType.RequstRegistration:
         byte[] accesskey = p.Data[0];
         string username  = Encoding.Unicode.GetString(p.Data[1]);
         if (!ValidateAccessKey(accesskey))
         {
             break;
         }
         c.Tag = Encoding.Unicode.GetBytes(username);
         // register
         TtlClients.Add(c, Environment.TickCount);     // Current Time in Ticks
         SendPushRegistration(c);
         break;
     }
 }
示例#4
0
 public override void ReactorServerOnClientDisconnectedEvent(ReactorVirtualClient c)
 {
     Console.WriteLine(DateTime.Now.ToString() + "> Server | Client Disconnected: " + c.Id);
     base.ReactorServerOnClientDisconnectedEvent(c);
 }
示例#5
0
 public override void ReactorServerOnClientConnectionSecuredEvent(ReactorVirtualClient c)
 {
     Console.WriteLine(DateTime.Now.ToString() + "> Server | Connection to " + c.Id + " is now secured.");
     base.ReactorServerOnClientConnectionSecuredEvent(c);
 }
示例#6
0
 public virtual void ReactorServerOnClientConnectedEvent(ReactorVirtualClient c)
 {
     //throw new NotImplementedException();
 }
示例#7
0
        private void ReactorServerOnClientPacketReceivedEvent(ReactorVirtualClient c, byte[] data)
        {
            EosPacket p = new EosPacket(data);

            HandleReactorPacket(c, p);
        }