C++ P2P在没有端口转发的端口上监听

标签 c++ p2p router

我正在尝试编写一个基于点对点技术的 C++ 聊天程序,不需要服务器。假设对等点使用其 IP 地址作为标识符相互连接。

我可以在不在路由器上配置端口转发的情况下监听传入连接吗?

最佳答案

如果对等点不在 NAT 后面,则有可能。如果是,则必须进行端口映射(转发端口)。您可以轻松编写一个函数来检查对等计算机是否在 NAT 后面。如果是,您可以重新考虑使用服务器作为对等点之间消息的传输位置。

编辑: 您还可以考虑使用公共(public) VPN 作为代理(包括端口转发)。但是,很难找到免费的。即使您愿意为此付费,也无法保证没有人会收听​​,您将依赖于 VPN 服务器的正常运行时间。

关于C++ P2P在没有端口转发的端口上监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27643797/

相关文章:

c++ - 为什么我不能转发声明指针结构?

c++ - enable_if 迭代器作为默认模板参数?

angularjs - 具有深度嵌套路由的 Angular2 路由 v3.0.0

vite - 有 vite 的 browserify 吗?如何在基于 vite 的项目中使用 webrtc-swarm?

css - 路由器动画在动画时不保留高度

javascript - Vue js路由到另一个页面后不重新渲染页面高度

c++ - 在使用模板模板参数时出现荒谬的错误

c++ - 将 vector 传递给cpp中的多个文件

c# - 使用 C# 在 NAT 后面实现点对点

java - freepastry教程3错误: Cannot join ring.所有 Bootstrap 都有故障