Кто-нибудь может просветить меня о современных технологиях .NET сокетов?
Неблокирующие сокеты
Если я установлю Socket.Blocking = false и буду использовать асинхронные операции - что произойдет?
Существует ли какой-нибудь метод опроса нескольких неблокирующих сокетов вместо проверки их доступности по одному (что-то вроде тривиального select() или любой другой механизм, возможно, связанный с IOCP), помимо Socket.Select()?
BeginXXX и SocketAsyncEventArgs
Работают ли они на блокирующих сокетах под капотом и просто скрывают создание потока?
Будет ли ручное создание потоков равносильно использованию методов BeginXXX?
Есть ли еще какие-нибудь плюсы в использовании SocketAsyncEventArgs, кроме того, что он позволяет создать пул сокетов и все, что с ними связано?
И последний вопрос: если приложение работает как некий высоконагруженный бинарный прокси с большей частью логики, выполняемой в один поток - что обеспечивает лучшую масштабируемость: неблокирующий подход или асинхронные операции?