有效且高效地管理许多TCP连接

Tra*_*uy9 4 .net c# tcp c#-4.0

我很好奇是否有人可以就如何有效管理大量TCP连接给我任何想法或建议.我正在谈论1000个TCP连接(可能更多).管理所有这些连接的应用程序需要定期从客户端(连接的另一端)提取信息.例如,可能每30秒.我会使用.NET 4.0.有没有内置任何东西来帮助这个或一个特殊的方式来构建一切来管理所有这些连接,而不会让这个应用程序陷入困境,它是无用的?

And*_*ber 7

我可以给你一点见解:

甚至不要考虑每个连接产生一个线程.使用框架的内置异步/任务框架来管理连接.那是; 让线程池做到这一点.

另外,要小心仔细观察你的线程在做什么; 确保您不能一次从多个线程读取/写入连接的流.但与此同时,请注意如何使用锁定机制来执行此操作,这样您就不会最终得到一个具有1000个活动连接的进程,以及一个充满线程的线程池等待获取它们永远不会获得的锁.