C# ==> Высокопроизводительный сервер?

Я знаю, что в Java, когда Вы хотите создать высокопроизводительный сервер, Вы используете nio вместо обычного сокета. Так есть ли такая вещь для C#, для создания высокопроизводительных серверов?

6
задан Steven Sudit 9 August 2010 в 17:04
поделиться

4 ответа

Да, SocketAsyncEventArgs:

Класс SocketAsyncEventArgs является частью набора усовершенствований для System.Net.Sockets.Socket, которые обеспечивают альтернативный асинхронный шаблон, который может быть использован специализированные высокопроизводительные сокеты приложениями. Этот класс был специально разработан для сетевых серверных приложений, требующих высокой производительность. Приложение может использовать улучшенный асинхронный шаблон исключительно или только в целевых горячих областях (например, при получении больших объемов данных).

11
ответ дан 8 December 2019 в 17:17
поделиться

Вы можете использовать асинхронные сокеты. Если этого недостаточно, вы всегда можете проверить Network Direct SPI , часть HPC SDK. Обратите внимание, что для Network Direct требуется конкретный поставщик оборудования.

2
ответ дан 8 December 2019 в 17:17
поделиться

Существуют различные способы использования обычных сокетов. Как правило, асинхронное использование лучше масштабируется.

0
ответ дан 8 December 2019 в 17:17
поделиться

SocketAsyncEventArgs использует порты завершения ввода-вывода Windows, что ускоряет работу. Он асинхронный, что делает его масштабируемым. По-настоящему большое дело с SocketAsyncEventArgs - это порты завершения ввода-вывода.

См. http://www.codeproject.com/KB/cs/socketasynceventargs.aspx , чтобы узнать, как использовать SocketAsyncEventArgs.

1
ответ дан 8 December 2019 в 17:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: