希望有两个与创建服务器应用程序相关的简单问题:
非常感谢任何建议 Venatu
答案 0 :(得分:2)
有实际限制,是的。但是,在您到达之前很久,您很可能会耗尽资源来处理负载。在连接数量之前,CPU或内存更有可能耗尽。
为了获得最大的可伸缩性,您不希望每个连接都有单独的线程,而是使用异步模型,该模型仅在维护活动(如接收或发送数据)连接时使用线程。
答案 1 :(得分:2)
您可能会发现following answer很有用。它说明了如何使用.NET线程池和异步套接字方法(BeginAccept / EndAccept和BeginReceive / EndReceive)编写可伸缩的TCP服务器。
据说,当您可以使用众多WCF绑定之一(甚至编写自定义绑定)并从WCF基础架构的全部功能中受益时,编写自己的服务器并不是一个好主意。它可能比每个自定义编写的服务器都更好地扩展。
答案 2 :(得分:1)
正如我记得的那样(很久以前就做过套接字)实现它们的最好方法是使用带有线程池的异步回调的ReceiveAsync(.NET 3.5)/ BeginReceive方法。不要为每个连接打开一个线程,这是浪费资源。