예제 #1
0
        public void Received(byte[] data)
        {
            if (!CheckVerify())
            {
                _session.Send(PacketFactory.CreateError("not verification"));
                _session.Close();
                return;
            }
            var package = PacketFactory.Create(data);

            _packetHandler.HandlePacket(package);
        }
예제 #2
0
        public override void HandlePacket(IPacket packet)
        {
            switch (packet.Version)
            {
            case 2:
                PackageHandler(packet as Packet);
                break;

            default:
                Session.Send(PacketFactory.CreateError("Packet Unknown Version:" + packet.Version.ToString()));
                Session.Close();
                break;
            }
        }
예제 #3
0
        private void PackageHandler(Packet package)
        {
            switch (package.Action)
            {
            case ActionType.Heartbeat:
                Session.Refresh();
                break;

            case ActionType.Request:
                SetupRequest(package.GetValue <Request>());
                break;

            case ActionType.Response:
                break;

            default:
                var errPack = PacketFactory.CreateError("Unknown ActionType:{0}", package.Action);
                Session.Send(errPack);
                Session.Close();
                break;
            }
        }
예제 #4
0
 private void ValidationFailure()
 {
     Session.Send(PacketFactory.CreateError("verification fail"));
     Session.Close();
 }
예제 #5
0
 private void NotVerified()
 {
     Session.Send(PacketFactory.CreateError("not verified"));
     Session.Close();
 }