SocketLibrary.Packets.Packet.SetPacketID C# (CSharp) Method

SetPacketID() public method

Sets the packet ID. Must be a length of 4!.
public SetPacketID ( byte bytes ) : void
bytes byte The bytes.
return void
        public void SetPacketID(byte[] bytes)
        {
            this.packetID = bytes;
        }

Same methods

Packet::SetPacketID ( int packetID ) : void

Usage Example

示例#1
0
        private void ProcessQueue()
        {
            Console.Out.WriteLine("Starting processing thread!");
            while (isRunning)
            {
                if (buggedPackets.Count != 0 && buggedPackets.Count % 100 == 0)
                {
                    Console.Out.WriteLine("Bugged packets is now " + buggedPackets.Count + ". Enjoy your exception");
                    int crash = Int32.Parse("LOL");
                }
                while (receivedPackets.Count > 0 && receivedPackets.First != null)
                {
                    if (onProcessPacket == null)
                    {
                        Console.Out.WriteLine("There are packets in the queue, but noone is listening to them!!");
                    }
                    else
                    {
                        //if (receivedPackets.First == null) continue;
                        try
                        {
                            // Process the packets
                            Packet[] receivedPacketArray = this.ConstructPacket(receivedPackets.First.Value.packet);
                            for (int i = 0; i < receivedPacketArray.Length; i++)
                            {
                                Packet receivedPacket = receivedPacketArray[i];
                                // Console.Out.WriteLine("Processing packet " + receivedPacket.GetHeader());
                                onProcessPacket(receivedPacket);

                                if (receivedPackets.First.Value.client.confirmPackets)
                                {
                                    if (receivedPacket.GetHeader() != Headers.PACKET_RECEIVED)
                                    {
                                        //Console.Out.WriteLine("Confirming packet with header " + receivedPacket.GetHeader() +
                                        //    " ID " + receivedPacket.GetPacketID());
                                        // Send a confirmation packet, that the packet is processed and received
                                        Packet confirmPacket = new Packet(Headers.PACKET_RECEIVED);
                                        confirmPacket.SetPacketID(receivedPacket.GetPacketID());
                                        receivedPackets.First.Value.client.SendPacket(confirmPacket);
                                    }
                                    else
                                    {
                                        ConfirmPacket(receivedPacket.GetPacketID());
                                    }
                                }
                            }
                            receivedPackets.RemoveFirst();
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine("Nullpointer in PacketProcessor D=. Removing first to buggedPackets");
                            if (receivedPackets.First == null)
                            {
                                Console.WriteLine("First is null");
                            }
                            else
                            {
                                buggedPackets.AddLast(receivedPackets.First.Value);
                                receivedPackets.RemoveFirst();
                            }
                            // Stop for now, try again later
                            break;
                        }
                    }
                }
                lock (syncSentPackets)
                {
                    for (int i = 0; i < this.sentPackets.Count; i++)
                    {
                        PacketSenderPair pair = this.sentPackets.ElementAt(i);
                        if (pair.client.confirmPackets)
                        {
                            double now = (new TimeSpan(DateTime.UtcNow.Ticks).TotalMilliseconds);
                            if (now - pair.packet.timeSent > packetResendTimeoutMS)
                            {
                                Console.Out.WriteLine("Resending packet with ID " + pair.packet.GetPacketID() + " and header " +
                                    ((int)pair.packet.GetHeader()).ToString("x") /* +
                            //   ".. ( " + now + " - " + pair.packet.timeSent + " )"*/);
                                this.sentPackets.Remove(pair);
                                pair.client.SendPacket(pair.packet);
                                i--;
                            }
                        }
                    }
                }
                Thread.Sleep(10);
            }
            Console.Out.WriteLine("Ending processing thread!");
            isRunning = false;
        }
All Usage Examples Of SocketLibrary.Packets.Packet::SetPacketID