protected void AsyncCompleted(object sender, SocketAsyncEventArgs e)
{
EventWaitHandle handle = (EventWaitHandle)e.UserToken;
_log.WriteLine(
"AsyncCompleted: " + e.GetHashCode() + " SocketAsyncEventArgs with manual event " +
handle.GetHashCode() + " error: " + e.SocketError);
handle.Set();
}