Closed 。这个问题是基于意见的 /help/closed-questions 。目前不接受答案。
我对 .NET 框架的标准套接字类感到头疼。
有人可以推荐一个高效的开源 C# 套接字 (TCP + UDP) 库来处理套接字消息吗?
使用 Kerry Jiang 的 SuperSocket 库或 Akka.NET
超级插座 https://www.nuget.org/packages/SuperSocket/ nuget 包下载量超过 10 万次;请注意,2.0+ 适用于 .NET Core,而 1.6 适用于 .NET Framework 4.8 及更低版本
SuperSocket.ClientEngine.Core https://www.nuget.org/packages/SuperSocket.ClientEngine.Core/ 下载量超过 70 万次
Akka https://www.nuget.org/packages/Akka/1.4.0 (for .NET) has over 1.2M downloads, and has a special Akka.NET.Test
从某种意义上说,这是作弊,因为它将使用套接字的决定推迟到最后一刻
“Akka”最初是一个 Java/Scala 项目,后来转向 .NET
因此,您应该在 Google 上搜索“Akka.NET”而不仅仅是“Akka”
一般来说,您可能希望使用一些背压解决方案来构建网络 IO,您可以使用C# 8 中的 Akka 异步流 https://www.infoq.com/articles/Async-Streams/ .
RSocket https://github.com/rsocket/rsocket-net is a new library built by ex-Netflix engineer https://www.infoq.com/articles/give-rest-a-rest-rsocket/ Robert Roeser.
与 Akka Streams 类似,它提供了一种处理背压的方法。
另外,在使用消息队列库而不是套接字库方面:
EasyNetQ https://www.nuget.org/packages/EasyNetQ/ nuget包下载量超过4M
NetMQ https://www.nuget.org/packages/NetMQ/ nuget 包下载量超过 600k
ZeroMQ https://www.nuget.org/packages/ZeroMQ/ nuget package has over 80k downloads
我在现实世界的项目中使用过它,它工作得很好,但它是 C dll 的绑定包装器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)