Я использовал следующий код для асинхронной отправки данных, но заметил, что использование WaitOne в AsyncWaitHandle, полученном из asyncRes , вообще не ждет.Я проверил MSDN и он говорит, что я должен использовать ManualResetEvent.
...
var asyncRes = _socket.BeginSend(encodedFrame, 0, encodedFrame.Length, SocketFlags.None, sendCallback, _socket);
...
var success = asyncRes.AsyncWaitHandle.WaitOne(_timeout, true);
...
private void sendCallback(IAsyncResult ar)
{
_socket.EndSend(ar);
}
MSDN также говорит в IAsyncResult:
AsyncWaitHandle: получает WaitHandle, который используется для ожидания асинхронной операциидля завершения.
Так почему я не могу использовать его для этой цели?
Спасибо.