我遇到桌面应用程序(c#)客户端需要从服务器接收连接的情况。为了避免迫使客户端打开NAT中的端口,有人建议使用由客户端发起的http持久连接。但是,我不确定这是正确的解决方案,因为它似乎有点滥用这个http扩展。这是一个解决方案,好吗,或者有什么更好的选择,我应该去研究吗?
发布于 2016-04-19 00:58:04
若要通过NAT接收入站连接,必须在NAT上打开端口并映射到目标PC的IP地址。如果在NAT上启用了uPNP,则可以通过目标应用程序以编程方式打开和映射端口,否则NAT管理员必须打开端口。
另一种选择是建立一个出站连接。它不必位于HTTP端口上(除非管理员锁定NAT ),但这是最常用的端口,因为大多数NAT/防火墙都允许出站连接到端口80以允许web浏览器通信。接收服务器不必是实际的HTTP服务器。
https://stackoverflow.com/questions/36706388
复制相似问题