gpt4 book ai didi

c# - 使用异步套接字方法时延迟

转载 作者:可可西里 更新时间:2023-11-01 02:52:40 24 4
gpt4 key购买 nike

我正在使用 C#、.Net Framework 3.5 进行软件开发。我的应用程序一次通过 TCP/IP 连接到多个客户端并从它们收集一些数据。客户数量非常多(超过 100)。在我的应用程序开发过程之前,我做了一些研究,发现我必须使用异步套接字实现来实现性能和可管理性方面。

目前看来还可以,但我目前正在寻找在向客户发送数据之前延迟的最佳方法。我的应用程序有时需要等待大约 2 秒才能发送特定数据。现在,我只是在异步发送方法之前放置了 System.Threading.Thread.Sleep(2000); 代码行。这是方便的方法还是有更好的方法?这个Sleep函数是阻塞我的应用程序主线程还是只阻塞属于异步套接字的线程。

最佳答案

我会改用带有匿名方法的计时器,Thread.Sleep(在大多数情况下)是邪恶的......

System.Threading.Timer timer;
timer = new Timer((cs) =>
{
...asynchronous send here
timer.Dispose();
}, null, 2000, Timeout.Inifinite);

这意味着括号内的代码将在 2000 毫秒后运行一次。

timer.Dispose() 行非常重要,您可以拥有多少个未处理的计时器是有限制的。

关于c# - 使用异步套接字方法时延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com