我知道在java中,当你想创建一个高性能的服务器时,你会使用nio而不是常规的socket。那么,对于C#来说,有没有这样一件事来创建高性能的服务器呢?
发布于 2010-08-10 01:05:59
是的,SocketAsyncEventArgs
SocketAsyncEventArgs类是对System.Net.Sockets.Socket类的一组增强中的一部分,这些增强提供了一种可供专门的高性能套接字应用程序使用的替代异步模式。此类是专门为需要高性能的网络服务器应用程序设计的。应用程序可以独占地使用增强的异步模式,也可以仅在目标热点区域使用增强的异步模式(例如,在接收大量数据时)。
发布于 2010-08-10 01:08:03
您可以使用异步套接字。如果这个还不够好,您可以随时查看Network Direct SPI,它是HPC的一部分。请注意,Network Direct确实需要特定于硬件的提供程序。
发布于 2010-08-20 12:08:07
SocketAsyncEventArgs使用Windows /O完成端口,这使得它速度更快。它是异步的,这使得它是可扩展的。SocketAsyncEventArgs真正重要的问题是I/O完成端口。
有关如何使用SocketAsyncEventArgs,请参阅http://www.codeproject.com/KB/cs/socketasynceventargs.aspx。
https://stackoverflow.com/questions/3442344
复制相似问题