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); */ }