我的任务是设计一个相当简单的 TCP/IP 服务器,它必须接受来自多个客户端的连接。它需要用 C# 编写,我使用的是 .NET 4.5。也就是说,我不确定 .NET 4.5 中 TCP/IP 服务器/客户端可扩展性的当前“最新技术”是什么。
我确实看到了这篇文章:如何编写可扩展的基于 Tcp/Ip 的服务器。但这与 .NET 2.0 和 3.5 相关,并且没有提及 async/await 模式。
我能够以“旧方式”编写服务器......但我想知道“新方式”是什么。
- 在 Socket、TcpClient 或 TcpListener 上使用新的 Async 方法在 C# 中创建可扩展服务器的最佳方法是什么?
- 新的异步方法是否利用 I/O 完成端口?
- 滚动您自己的 Socket 侦听器是否更有效,或者 TcpListener/TcpClient 类现在还不错?
编辑:附加问题。