1

我正在用 C# 编写一个系统,该系统由 1 个桌面应用程序(我称之为“主机”)组成,这些应用程序通过 Internet 连接到多个“客户端”应用程序。“主机”应该能够检索状态信息(至少客户端应用程序是否正在运行)以及将文件发送到客户端计算机。客户端计算机不必相互查看或通信。客户端应用程序将 24/7 全天候运行,但主机应用程序仅在用户想要检查运行客户端应用程序的 PC 时运行。

我已经对微软的 PNRP 进行了相当多的阅读,并认为我将使用基于此的系统来减轻主机和客户端之间的连接 - 即每个客户端应用程序检测到 WAN IP 更改,并将其新 IP 报告给 linux我拥有的服务器。当主机应用程序想要连接时,它将连接到服务器,进行身份验证,并获取客户端应用程序的 WAN IP 列表。

从这里,我想直接从主机应用程序连接到每个客户端应用程序。为了减轻服务器上的负载,我不想通过服务器发送文件或状态信息。最好的方法是什么?每个客户端应用程序都可能在防火墙、NAT 等之后,我将无法手动进行端口转发(尽管我可以在它工作时使用 uPnP)。

PS - 你会建议任何 PNRP 替代品吗?我会直接使用 PNRP,除了 (1) 出于安全原因我需要使用我自己的种子服务器 (linux) 而不是 microsoft PNRP 种子服务器,并且我的理解是 PNRP 仅适用于 Windows 和 (2) PNRP 仅适用于ipv6,网络(和 ISP)可能并不总是支持。

4

0 回答 0