我使用C#,.NET Framework 3.5的软件开发把延迟。我的应用程序一次通过TCP/IP连接到多个客户端,并从中收集一些数据。客户号码非常高(超过100)。在我的应用程序开发过程之前,我已经做了一些研究,并且看到我必须在性能和可管理性方面使用异步套接字实现。
使用异步套接字方法时
似乎好现在,但我目前正在寻找将延迟只是一个数据发送到客户端之前,最好的方式。我的应用程序有时需要等待大约2秒才能发送特定的数据。目前,我只是在异步发送方法之前放置了System.Threading.Thread.Sleep(2000);
的代码行。这是方便的方式还是有更好的方法呢?这个Sleep
函数是否阻塞了我的主应用程序线程,还是阻塞了只属于异步套接字线程的线程?
可能大家知道所需的延迟的原因吗?这似乎有点奇怪,故意延迟 –
@AlastairPitts我把延迟,因为客户端机器需要延迟一些操作后。他们不会在几秒钟内回复任何命令。 – Fer
更好的选择是在客户端准备好后缓冲客户端数据并使用数据。一个asnyc tcp(或其他)客户端的方式。 – HuseyinUslu