Java中的SelectionKey,SelectableChannel和Selector的C#类是什么?是否有这些课程的直接翻译或下一个最好的事情是什么?
编辑: 正如Marc Gravell指出的那样,它是用于IO操作的多路复用器(网络)。
答案 0 :(得分:2)
.NET中没有任何与java.nio模型直接对应的类。异步IO通常使用BeginRead
/ EndRead
(等)方法执行。还有像WebClient
这样的类使用的基于事件的异步模型。此外,在带有任务并行库的.NET 4中,您可以使用基于任务的异步,这也可以利用Begin
/ End
模式。
您可以在.NET in MSDN中阅读有关异步IO的更多信息。
请注意,C#5将引入异步方法,这将使这很容易。
答案 1 :(得分:1)
查看this article,其中显示了我认为您在C#中尝试实现的内容的示例。它显示了如何使用Socket.Select来实现多路复用I / O