【发布时间】:2013-07-03 11:32:16
【问题描述】:
我有自定义系统。系统配置如下。
我在 Windows 7 P、C# 和 .Net 2.0 上有 WinForm 应用程序。
它是服务器-客户端应用程序。我有多个服务器系统近 60 个系统。我的应用程序创建多个客户端来连接每个服务器。
每个客户端都有发送/接收后台工作者。如果只有一个客户端向一台服务器发送多个命令(25 个命令),则需要 3 秒。但是,如果每个客户端向每个服务器发送多个命令,则需要 18 秒,而不是 3 秒。
有什么原因吗?
更新 一台 PC 有 4 通道的网卡。每个通道都连接了10个mores服务器控制器。
已编辑 我已经解决了这个问题。使用 BGW(Backgroundworker)实现服务器代码的主要原因。我已经从BGW变成了线程-接收和发送功能。
我得到了每个客户端 25 个命令的快速响应。即使我连接了 50 个客户端,我也得到了整个客户端的相同时间响应。
【问题讨论】:
-
假设这是TCP,应该是连接开销。
-
是的,它是 TCP/IP 连接。有什么办法可以提高速度吗?
-
这很可能是您的服务器实现。但是,您只是笼统地问,不可能说出方式。因此,我投票结束这个问题,因为它无法回答。
-
@AhmedKRAIEM:因为连接开销而延长了 15 秒?这不太可能......
-
我将服务器实现从 BGW 更改为线程。然后我得到了快速响应。
标签: c# sockets client-server