3

我正在用 C# 创建一个新的客户端/服务器应用程序,并希望有相当高的连接率。这让我想到了数据库连接池,它有助于减轻在客户端和数据库之间创建和处理连接的费用。

我想为我的应用程序创建类似的功能,但找不到任何关于如何应用此模式的好示例。每次我想向服务器发送消息并接收回执消息时,我真的需要启动一个 TcpClient 实例吗?每个连接预计在 1-5KB 之间传输,每个连接接收 1KB 响应消息。

我意识到这个问题有些模糊,但我是从头开始的,所以我愿意接受建议。即使这意味着我的假设都是错误的。

4

1 回答 1

1

引入连接池是一种优化。过早的优化可能很糟糕。

我建议您在不引入连接池的情况下开始开发。当客户端和服务器代码足够稳定时,您可以创建负载测试并检测性能问题。

如果与数据传入/传出服务器的速率相比,创建连接的时间相当长(负载测试应表明这一点),则需要连接池。

如果来自客户端的数据不经常发送,您甚至可能不需要连接池。

于 2011-06-22T17:22:41.900 回答