Асинхронный обратный вызов чтения System.Net.Sockets.NetworkStream - PullRequest
1 голос
/ 13 июля 2009

Я, может быть, просто неправильно понимаю нечто фундаментальное здесь, но ...

Senario: Я вызываю метод System.Net.Sockets.NetworkStream BeginRead, и мой аппарат получает ответ / запрос от сетевого устройства. Среда выполнения запускает мой обратный вызов в своем собственном потоке. Прежде чем этот поток сможет вызвать EndRead, машина получит другой ответ / запрос.

Вопрос: Будет ли среда выполнения немедленно вызывать мой обратный вызов в другом потоке или ждать, пока я вызову EndRead, а затем BeginRead снова?

Ответы [ 2 ]

2 голосов
/ 17 августа 2009

Вы должны вызвать EndRead, а затем снова BeginRead, чтобы обработать новое входящее сообщение.

1 голос
/ 13 июля 2009

Он должен немедленно запустить метод обратного вызова в другом потоке. (следовательно, асинхронные, а не блокирующие вызовы).

...