【问题标题】:Why is connecting from localhost by some libraries possible and by others not possible?为什么某些库可以从 localhost 连接而其他库不能连接?
【发布时间】:2019-12-13 14:14:00
【问题描述】:

这个库restup(由tomkuijsten编写)和这个库SimpleHttpServer都实现了HTTP服务器功能,并提供了一个干净的API来嵌入和在UWP项目中使用。

正如FAQhere的第一点和here解释的那样,本地机器不能调用restup(我什至尝试运行虚拟机,使用虚拟网络适配器设置网络,但是在徒劳)。

但问题是,为什么SimpleHttpServer! 可以做到?

【问题讨论】:

  • 两者都监听同一个端口号吗?
  • 您可以尝试关闭 windows 防火墙,看看是否有帮助。

标签: c# .net uwp httprequest httpserver


【解决方案1】:

首先,服务器的网络套接字可以绑定到 0.0.0.0 (All),或者显式绑定到 127.0.0.1 (localhost),或者网卡的 IP 地址,例如 192.168.0.2。其次,HTTP/1.1 要求输入 url 的主机作为标头传递给服务器。因此,要么您的请求未发送到正确的 IP 地址,要么服务器根据 Host 标头拒绝请求,要么其他防火墙问题阻止了请求。

【讨论】:

    【解决方案2】:

    Restup 使用 StreamSocketListener,SimpleHttp 使用 TcpListener。这就是为什么一个在本地工作而另一个不工作的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      • 2023-02-16
      • 2017-01-12
      • 1970-01-01
      相关资源
      最近更新 更多