UWP Raspberry Pi 网络服务器问题

UWP Raspberry Pi Webserver issue

我正在关注 Web 服务器的示例应用程序,使用端口处理通过 TCP 传入的请求。

带有代码的示例应用程序:https://incredibits.io/project/windows-10-iot-internet-of-things-tips/windows-10-iot-raspberry-pi-web-server

在我的 Windows 10 机器上调试 UWP 应用程序时,尝试访问本地 IP(192.168.x.x <- 当然我已经输入了我的实际本地 IP)我得到我应该做什么。该应用程序收到一个传入请求,并且 returns 一些数据在我的另一台计算机上返回给我(客户端)。

我面临的问题是,当我将其部署到我的 Raspberry Pi 3 运行 Windows 10 IoT Core(来自 Insider 的最新版本)时,我无法访问完全来自我的客户端计算机的应用程序。这是 Pi 的防火墙问题还是其他原因阻止了这种情况?

我可以在端口 8080 上访问 IoT Core 的 Web 界面,但我无法在端口 80 上访问我的应用程序 运行。(我也尝试将端口切换到另一个端口,在我的本地工作 Windows 10 但不是在 Pi 上)

有没有人知道解决方案,或者遇到过类似的问题?

注: 我也尝试过像 (https://ms-iot.github.io/content/en-US/win10/samples/BlinkyWebServer.htm) 这样的例子,它再次在我的 Windows 10 台电脑上运行,如果它们在同一网络上,我的另一台电脑可以访问,但不能在我的 Pi 上访问)

我找到了解决问题的方法。

我使用的端口未在 Raspberry Pi 的防火墙中打开。我找不到如何向防火墙添加规则,但在 Freenode C# 聊天论坛上寻求帮助后,我找到了以下代码片段:

首先我通过 PowerShell 登录 Pi

Enter-PsSession -ComputerName MyRaspberryPi-Credential MyRaspberryPi\Administrator

然后我手动添加我正在使用的端口的防火墙开放。在这种情况下端口 8080.

netsh advfirewall firewall add rule name="Raspberry Pi Webserver" dir=in action=allow protocol=TCP localport=8080

在那之后,一切都按预期进行。我可以访问 Raspberry Pi 上的端口!一切顺利!

感谢评论中的@canton7 和@taylor-kidd,他们提出的建议最终对我有所帮助!

编辑 4 月 12 日: 似乎这个防火墙未打开的问题实际上是微软已知的问题。他们在 Insider Preview 版本 14295(我正在使用)的发布说明中写道 http://ms-iot.github.io/content/en-US/win10/ReleaseNotesInsiderPreview.htm