首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Http服务器-侦听响应

问Http服务器-侦听响应
EN

Stack Overflow用户
提问于 2013-02-17 22:04:33
回答 2查看 971关注 0票数 2

我读过下面这篇关于创建一个简单的http服务的文章:Create a Simple Threaded HTTP Server with C#在实现一些东西之前,我有点进退两难。

我有一个服务将http请求发送到多个目的地(同时限制最多个目的地),并从每个目的地接收响应。响应很短,如果请求处理正确与否,只有一个状态(如果正常,则为200,或者其他一些代码)。

上面的文章在while循环中创建了一个侦听器,该侦听器被阻塞,正在侦听请求。

代码语言:javascript
复制
23          private static void Listen()
24          {
25              listener.Start();
26              WriteLog("Listening On: " + port.ToString());
27   
28              while (true)
29              {
30                  WriteLog("Waiting for connection...");
31                  TcpClient client = listener.AcceptTcpClient();
32                  Thread listenThread 
                       = new Thread(new ParameterizedThreadStart(ListenThread));
33                  listenThread.Start(client);
34              }
35          }

我需要向设备发送请求,并侦听每个设备的响应。有没有可能,如果我得到一个响应,并且直到循环返回到listen命令(31),另一个响应将被忽略?

如果我处理的http请求数量有限,我应该为每个或一个侦听器创建一个侦听器更好?

EN

回答 2

Stack Overflow用户

发布于 2013-02-17 22:07:19

你召唤theT ASP.net Webapi了吗?这应该是你所需要的:-)你也可以有异步控制器,有很多例子。

票数 1
EN

Stack Overflow用户

发布于 2013-02-17 22:11:07

等待accept的TCP连接被放入连接backlog (默认情况下是100IIRC,您可以在侦听器构造函数中对其进行更改)。这意味着可能有100个并发TCP连接请求等待接受。

因此,除非等待处理的连接数超过该数目,否则不会丢失任何连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14921869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档