【发布时间】:2011-10-02 00:45:51
【问题描述】:
希望有两个与创建服务器应用程序相关的简单问题:
- 可以同时打开的套接字数量是否存在理论/实际限制?一旦数据到达,就忽略处理数据所需的资源!如果它相关,我的目标是 .net 框架
- 每个连接应该在永久分配给它的单独线程中运行,还是应该使用线程池?专用线程方法似乎更简单,但一次运行 100 多个线程似乎很奇怪。这是可接受的做法吗?
非常感谢任何建议 维纳图
【问题讨论】:
-
假设您希望多个人能够同时连接,那么每个连接至少需要一个线程。
-
您不能在有限数量的线程上依次循环通过套接字,其中一个专用于接受传入的请求吗?
-
这是可能的,但如果您的连接运行时间很长,您肯定会冒着排队很长的风险。当我说“线程”时,我真正的意思是“异步接收和发送数据的方法”,所以 ThreadPooling 或异步套接字也可以工作。