1

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

4

3 回答 3

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

于 2013-05-12T12:42:39.160 回答
0

WCF是一种选择。另一个是考虑使用网络库,它可以让您选择使用线程或异步连接、NetworkComms.Netlidgren

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

于 2013-05-12T12:51:17.647 回答
-2

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

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

于 2013-05-12T12:57:39.743 回答