c# - Http 服务器 - 监听响应

标签 c# http service request listener

我已阅读以下有关创建简单 http 服务的文章: Create a Simple Threaded HTTP Server with C# 在实现某些事情之前,我陷入了两难的境地。

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

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

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          }

我需要向设备发送请求并监听每个设备的响应。 是否有可能如果我得到一个响应,直到循环返回到监听命令(31),另一个响应就会溜走?

如果我正在处理的 http 请求数量有限,我应该为每个监听器创建一个监听器还是一个监听器更好?

最佳答案

您考虑过 ASP.net Webapi 吗?这应该完全符合您的需要:-) 在那里您还可以拥有异步 Controller ,并且有大量示例。

关于c# - Http 服务器 - 监听响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14921869/

相关文章:

c# - 如何在 MVC.Net 中为无尽类别树编写 Foreach 循环?

python - ProtocolError IncompleteRead 使用请求

php - http中的嵌套参数是什么?

java - 如何解决这种拒绝服务问题的可能性?

ubuntu - 使用 upstart 在 ubuntu 上运行 Python 服务

c# - asp.net 中的分页

c# - 为什么 Interlocked.CompareExchange<T> 只支持引用类型?

c# - 在 .NET 中忽略 DST(夏令时)

azure - Azure 应用服务备份是否存储在两个配对区域中?

api - 超媒体API链接遍历与实用性