.NET中的RIO(已注册的I/O)套接字

TJF*_*TJF 15 .net sockets windows-8 windows-server-2012

.NET团队是否有计划在.NET 8/Server 2012中引入可在.NET中使用的RIO套接字?

在.NET中使用它们的过渡时期我有哪些选择 - 扩展Socket类?

除了Windows API文档,Windows套接字的新功能和Channel9视频,开发低延迟网络应用程序的新技术之外,我几乎找不到任何有关它们的文档.

Len*_*ate 5

我已经写了很多有关我的初步调查,从本机代码RIO 这里(作为评论者,以你原来的问题指出).

我有兴趣知道你希望通过托管代码使用RIO来实现什么目标?RIO可能的目标受众是需要减少网络代码延迟的开发人员.就个人而言,我不相信托管代码必然是RIO所针对的应用程序的理想选择; 我可能错了,但我希望CLR有可能在任何时候触发垃圾收集都不会是有人使用RIO想要的东西......

无论如何.我想如果你想从托管代码中使用RIO,那么我建议不要简单地使用P/Invoke,而是编写一个管理所有RIO工作的组件,在本机代码中,也许,回调到各种网络上的托管事件.但同样,那就是我怎么做的......

  • 我在金融行业工作,虽然我同意,我们将能够挤出一点更多的性能编写原生代码,我们能够开发一个管理应用程序栈是免费很大程度上GC,具有低抖动和低延时.我将使用RIO的特定组件的每个处理数据包的平均延迟为5usec,但在用户到内核模式转换到winsock时每次调用会产生~20usec命中.如果我们可以通过RIO将其降低,这看起来像是一场即时胜利,而不必去内核旁路. - 感谢您的文章链接! (8认同)