自动转发来自客户端的端口
Automatically forward ports from clients
我的系统有一个服务器和多个客户端。服务器为客户端提供服务,每个客户端也有服务,用于与其他客户端通信。
我在路由器上手动转发了服务器的服务端口,但是以后客户端安装后不能自己做。
有没有办法通过安装从客户端通过代码自动转发端口?
我的主要问题是 - 这种做法是否明智?是否需要恭敬地构建系统?
项目详情:
- C# - WCF,通信 - NetTcpBinding.
- 服务器在我的电脑上(家庭网络)。服务器的服务端口:8080.
- 客户端可以随处安装。客户端服务端口:8081.
*我不了解 IIS 技术,它对这种情况有帮助吗?
您所描述的模型听起来像一个 mesh 网络,通常您不希望客户端转发端口,无论是否自动转发。
如果绝对有必要,您可以实施 UPnP, there is an elaborate article here 描述如何在 .NET 中使用库来实现。请注意,您必须 select 一个不同的端口。
虽然我强烈建议选择不同的选项,但让服务器管理客户端之间的连接更易于管理且更安全。很少有有效的论据支持存在服务器而客户端有时会忽略它的模型:
- 带宽,服务器可能无法以合理的吞吐量(即 torrent)处理所有数据
- 安全,服务器可能只用于客户端更新(即带有更新程序的 P2P 聊天客户端)
听上去,你的项目也不适用。
编辑:因为您已经指出该项目基本上是一个 Torrent 客户端,所以我建议您阅读 UPnP 文章。
我的系统有一个服务器和多个客户端。服务器为客户端提供服务,每个客户端也有服务,用于与其他客户端通信。
我在路由器上手动转发了服务器的服务端口,但是以后客户端安装后不能自己做。
有没有办法通过安装从客户端通过代码自动转发端口?
我的主要问题是 - 这种做法是否明智?是否需要恭敬地构建系统?
项目详情:
- C# - WCF,通信 - NetTcpBinding.
- 服务器在我的电脑上(家庭网络)。服务器的服务端口:8080.
- 客户端可以随处安装。客户端服务端口:8081.
*我不了解 IIS 技术,它对这种情况有帮助吗?
您所描述的模型听起来像一个 mesh 网络,通常您不希望客户端转发端口,无论是否自动转发。
如果绝对有必要,您可以实施 UPnP, there is an elaborate article here 描述如何在 .NET 中使用库来实现。请注意,您必须 select 一个不同的端口。
虽然我强烈建议选择不同的选项,但让服务器管理客户端之间的连接更易于管理且更安全。很少有有效的论据支持存在服务器而客户端有时会忽略它的模型:
- 带宽,服务器可能无法以合理的吞吐量(即 torrent)处理所有数据
- 安全,服务器可能只用于客户端更新(即带有更新程序的 P2P 聊天客户端)
听上去,你的项目也不适用。
编辑:因为您已经指出该项目基本上是一个 Torrent 客户端,所以我建议您阅读 UPnP 文章。