Exemple #1
0
        public void Write(SocketAsyncEventArgs sendSAEA)
        {
            if (Packet == null)
            {
                return;
            }
            int len = Packet.Read(sendSAEA.Buffer, 0, WritePos, sendSAEA.Buffer.Length);

            WritePos += len;
            sendSAEA.SetBuffer(0, len);

            /*
             * int writeLen = 0;
             * while (writeLen < sendSAEA.Buffer.Length)
             * {
             *  if (HeadWritePos >= HeadLenth)
             *  {
             *      int len = Packet.Read(sendSAEA.Buffer, writeLen, WritePos, sendSAEA.Buffer.Length);
             *      WritePos += len;
             *      writeLen += len;
             *      break;
             *  }
             *  else
             *  {
             *      int len = HeadLenth - HeadWritePos;
             *      if (len > sendSAEA.Buffer.Length)
             *          len = sendSAEA.Buffer.Length;
             *      Array.Copy(HeadBuffer, HeadWritePos, sendSAEA.Buffer, writeLen, len);
             *      writeLen += len;
             *      HeadWritePos += len;
             *  }
             * }
             * sendSAEA.SetBuffer(0, len);
             */
        }