我正在尝试编写一个基于Peer To Peer技术的C ++聊天程序,而不需要服务器。假设对等体使用其IP地址作为标识符相互连接。
我可以在没有在路由器上配置端口转发的情况下侦听传入连接吗?
答案 0 :(得分:1)
如果对等体不在NAT之后,则有可能。如果是,则必须进行端口映射(转发端口)。您可以轻松编写一个函数来检查对等计算机是否在NAT后面。如果是,您可以重新考虑使用服务器作为同伴之间消息的转移位置。
编辑: 您还可以考虑使用公共VPN作为代理(包括端口转发)。但是,很难找到免费的。即使您愿意为此付费,您也无法保证没有人会收听它,您将依赖VPN服务器的正常运行时间。