private void IOComplete(object sender, SocketAsyncEventArgs e)
{
switch (e.LastOperation)
{
case SocketAsyncOperation.Receive:
ProcessReceive();
break;
case SocketAsyncOperation.Send:
// Check for a closed conenction
if (e.BytesTransferred == 0 || WriteEventArgs.SocketError != SocketError.Success)
{
Close();
return;
}
// Append to the offset
SendBytesOffset += e.BytesTransferred;
WaitingOnAsync = false;
ProcessSend();
break;
}
}