同时建立多个连接的最佳方法是什么?

时间:2013-05-12 12:39:15

标签: c# multithreading

我正在制作一个程序,需要在我的网站上建立多个连接,并保持打开几个小时!那么,假设我想建立300-500个连接并将它们保持5个小时,如果我为每个连接使用线程,它需要多少CPU?有没有其他方法可以做到这一点,而不是使用线程,因为它需要大量的CPU?

3 个答案:

答案 0 :(得分:1)

使用异步套接字API。

异步服务器套接字示例 http://msdn.microsoft.com/en-us/library/fx6588te.aspx

异步客户端套接字示例 http://msdn.microsoft.com/en-us/library/bew39x2a.aspx

使用异步服务器套接字 http://msdn.microsoft.com/en-us/library/5w7b7x5f.aspx

答案 1 :(得分:0)

WCF是一种选择。另一种方法是考虑使用网络库,它允许您选择使用线程或异步连接,NetworkComms.Netlidgren

免责声明:我是NetworkComms.Net的开发人员。

答案 2 :(得分:-2)

HTTP作为应用程序消息协议不会保持消息的来回流动,但只交换一对;请求和响应,从应用程序的角度来看,它是一个无连接协议。面向连接的TCP部分只是为了成功传递请求中的所有数据或响应中的所有数据。

因此,谈论保持HTTP连接从服务器打开是没有意义的。服务器可能会进行分块编码以假装它可以发送多条回复消息,但这不符合经验。