예제 #1
0
 public PacketHandler(byte packetId, EncryptionMode encryptionMode, PacketHandlerCallback callback)
 {
     _encryption = encryptionMode;
     _packetId   = packetId;
     _callback   = callback;
 }
예제 #2
0
 public void setHandler(PacketIF.PacketType type, PacketHandlerCallback callback, Object clientdata)
 {
     this.setHandler(type, callback, clientdata, null);
 }
예제 #3
0
        public void setHandler(PacketIF.PacketType type, PacketHandlerCallback callback,
            Object clientData,
            String matchString)
        {
            if (clientData == null)
                Console.WriteLine("null client data\n");

            PacketHandler pexist = null;
            foreach (PacketHandler p in handlers)
            {
                if (p.Type == type && p.match(matchString))
                {
                    pexist = p;
                    break;
                }
            }
            if (callback == null)
            {
                if (pexist != null)
                {
                    handlers.Remove(pexist);
                }
            }
            else
            {
                PacketHandler h = new PacketHandler(true, type, 0, callback,
                    clientData, matchString);
                if (pexist != null)
                {
                    handlers.Remove(pexist);
                    handlers.Add(h);
                }
                else
                    handlers.Add(h);
            }
        }
예제 #4
0
파일: Server.cs 프로젝트: ServTK/ServTK
 public virtual void RegisterHandler(byte packetType, EncryptionMode encryptionMode, PacketHandlerCallback callback)
 {
     Handlers[packetType] = new PacketHandler(packetType, encryptionMode, callback);
 }