Подтвердить что ты не робот

Сокеты RIO (Registered I/O) в .NET.

Существуют ли какие-либо планы команды .NET для создания сокетов RIO, которые были введены в Windows 8/Server 2012, доступных в .NET?

Каковы мои параметры в промежутке времени, чтобы использовать их из .NET. Расширение класса Socket?

Помимо документации по API Windows, Что нового для Windows Sockets и видео Channel9, Новые методы для разработки Low -Latency Network Apps, я едва могу найти дополнительную документацию о них.

4b9b3361

Ответ 1

Я написал довольно много о моих первоначальных исследованиях в RIO из собственного кода здесь (как заметил комментатор на ваш оригинальный вопрос).

Мне было бы интересно узнать, чего вы надеетесь достичь, используя RIO из управляемого кода? Вероятно, целевой аудиторией RIO являются разработчики, которым необходимо сократить время ожидания в их сетевом коде. Лично я не уверен, что управляемый код обязательно идеален для приложений, на которые нацелился RIO; Возможно, я ошибаюсь, но я бы ожидал, что вероятность того, что CLR может вызвать сбор мусора в любой момент, не будет тем, что кто-то, кто использует RIO, захочет...

В любом случае. Я думаю, что если бы вы хотели использовать RIO из управляемого кода, я бы рекомендовал НЕ просто использовать P/Invoke и вместо этого писать компонент, который управляет всей работой RIO в собственном коде и что, возможно, перезвонит в управляемые в разных сетях Мероприятия. Но опять же, как я это сделал бы...

Ответ 2

Экспериментально исследуется RIO для API каналов, в настоящее время находится на стадии создания/разведки, но можно использовать здесь: https://github.com/davidfowl/Channels, Это наряду с API libuv и API-интерфейсом winsock на основе "каналов". Что касается вашего вопроса о расширении класса сокетов: характер этих API кажется желательным для другого подхода - следовательно, "каналы".