示例#1
0
        public void OnDataArrival(ENetPacket *packet, Channel channel)
        {
            var data = new byte[(int)packet->dataLength];

            Marshal.Copy(packet->data, data, 0, data.Length);

            if ((int)packet->dataLength >= 8 && Encrypt)
            {
                data = LoLServer.BlowFish.Decrypt(data);
            }
            LittleEndianReader reader = new LittleEndianReader(data);

            Message message = ProtocolManager.BuildMessage(this, channel, data);

            ProtocolManager.HandleMessage(message, this);
        }
        public bool handlePacket(ENetPeer *peer, ENetPacket *packet, Channel channelID)
        {
            if ((int)packet->dataLength >= 8)
            {
                if (game.getPeerInfo(peer) != null)
                {
                    BlowFishCS.BlowFishCS.Decrypt1(game.getBlowfish(), (byte *)packet->data, new IntPtr((int)packet->dataLength - ((int)packet->dataLength % 8)));
                }
            }

            var data = new byte[(int)packet->dataLength];

            Marshal.Copy(packet->data, data, 0, data.Length);

            return(handlePacket(peer, data, channelID));
        }
示例#3
0
 static extern int native_packet_resize(ENetPacket *packet, IntPtr dataLength);
示例#4
0
 static extern void native_packet_destroy(ENetPacket *packet);
示例#5
0
 public override int packet_resize(ENetPacket *packet, IntPtr dataLength)
 {
     return(native_packet_resize(packet, dataLength));
 }
示例#6
0
 public static extern void enet_host_broadcast(ENetHost *host, byte channelID, ENetPacket *packet);
示例#7
0
 public static extern int enet_packet_resize(ENetPacket *packet, IntPtr dataLength);
示例#8
0
 public override void host_broadcast(ENetHost *host, byte channelID, ENetPacket *packet)
 {
     native_host_broadcast(host, channelID, packet);
 }
示例#9
0
 public abstract int packet_resize(ENetPacket *packet, IntPtr dataLength);
示例#10
0
 public abstract void packet_destroy(ENetPacket *packet);
示例#11
0
 public static int enet_packet_resize(ENetPacket *packet, IntPtr dataLength)
 {
     return(Platform.packet_resize(packet, dataLength));
 }
示例#12
0
 public static void enet_packet_destroy(ENetPacket *packet)
 {
     Platform.packet_destroy(packet);
 }
示例#13
0
 public abstract void host_broadcast(ENetHost *host, byte channelID, ENetPacket *packet);
示例#14
0
 public static void enet_host_broadcast(ENetHost *host, byte channelID, ENetPacket *packet)
 {
     Platform.host_broadcast(host, channelID, packet);
 }
示例#15
0
 public override int peer_send(ENetPeer *peer, byte channelID, ENetPacket *packet)
 {
     return(native_peer_send(peer, channelID, packet));
 }
示例#16
0
 public static int enet_peer_send(ENetPeer *peer, byte channelID, ENetPacket *packet)
 {
     return(Platform.peer_send(peer, channelID, packet));
 }
示例#17
0
 static extern int native_peer_send(ENetPeer *peer, byte channelID, ENetPacket *packet);
示例#18
0
 public abstract int peer_send(ENetPeer *peer, byte channelID, ENetPacket *packet);
示例#19
0
 public static extern void enet_packet_destroy(ENetPacket *packet);
示例#20
0
 static extern void native_host_broadcast(ENetHost *host, byte channelID, ENetPacket *packet);
示例#21
0
 public static extern int enet_peer_send(ENetPeer *peer, byte channelID, ENetPacket *packet);
示例#22
0
 public override void packet_destroy(ENetPacket *packet)
 {
     native_packet_destroy(packet);
 }
示例#23
0
        unsafe bool handleGameNumber(ClientInfo client, ENetPeer *peer, ENetPacket *packet)
        {
            var world = new WorldSendGameNumber(1, client.getName());

            return(PacketHandlerManager.getInstace().sendPacket(peer, world, Channel.CHL_S2C));
        }
示例#24
0
 /// <summary>
 /// Initializes a new packet based on a native C packet.
 /// </summary>
 /// <param name="packet">The native C packet.</param>
 public Packet(ENetPacket *packet)
 {
     _packet = packet;
 }