コード例 #1
0
        private void sendAsync(p_SPacket packet, bool t = false)
        {
            Action d = () =>
            {
                byte[] buff;
                if (!packet.IsToContainer)
                {
                    buff = packet.Packet;
                }
                else
                {
                    buff = new p_SContainer(packet).Container;
                }
                if (IsLoginCompleted)
                {
                    crypt.Encrypt(ref buff);
                }

                socketSAEA.SetBuffer(buff, 0, buff.Length);
                socket.SendAsync(socketSAEA);
            };

            sendQueue.Start(d);

            /*if (!isSend || t)
             * {
             *  isSend = true;
             *
             *  byte[] buff;
             *  if (!packet.IsToContainer)
             *      buff = packet.Packet;
             *  else
             *      buff = new p_SContainer(packet).Container;
             *  if (IsLoginCompleted)
             *      crypt.Encrypt(ref buff);
             *
             *  socketSAEA.SetBuffer(buff, 0, buff.Length);
             *  socket.SendAsync(socketSAEA);
             * }
             * else
             *  toSend.TryAdd(packet);*/
        }
コード例 #2
0
 public void Add(p_SPacket pkt)
 {
     this.packets.Add(pkt);
 }
コード例 #3
0
 public p_SContainer(p_SPacket pkt)
 {
     this.packets = new List <p_SPacket>();
     Add(pkt);
 }