private void InitBuffers() { if (sendArgs == null) { sendArgs = SocketAsyncEventArgsFactory.Instance.Take(SendBufferSize); sendArgs.Completed += SendAsyncCompleted; sendBuffer = new WriteBuffer(sendArgs.Buffer, sendArgs.Offset, sendArgs.Count); recvArgs = SocketAsyncEventArgsFactory.Instance.Take(ReceiveBufferSize); recvArgs.Completed += ReceiveAsyncCompleted; recvBuffer = new ReadBuffer(recvArgs.Buffer, recvArgs.Offset, recvArgs.Count); } else { sendBuffer.Reset(); recvBuffer.SetAvailableLength(0); } }