networking - 没有端口转发可以做P2P吗?

标签 networking p2p irc file-transfer portforwarding

我正在通过 IRC 制作一个简单的文件传输程序,当我阅读时,我看到 IRC 在共享文件时会在独立于服务器的两个用户之间创建直接连接(DCC,直接客户端连接)。搜索了一段时间后我发现了这个:Direct ConnectAdvanced Direct Connect .

这些页面都没有回答这个我无法摆脱的问题:在没有任何用户执行特殊端口转发的情况下是否可以进行 P2P 数据传输? 允许使用帮助建立连接的中间服务器(如 IRC 示例中所示)。数据传输本身必须独立于服务器。

最佳答案

是的 - 如果您可以让外部服务器为您转发连接请求,则可以使用所谓的打洞技术来建立直接连接。 This technical paper有更详细的解释。

请注意,这些不一定适用于所有 NAT - 但它们确实适用于相当多的NAT。

关于networking - 没有端口转发可以做P2P吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4692367/

相关文章:

networking - 如何发现网络中和网络上机器的 MAC 地址?

java - 与 Volley 建立联系

windows - 保护可移植 Intranet 上的通信(更改 IP 地址)

android - 为什么我在使用 WifiP2pManager 时总是 BUSY?

java - Pircbotx channel setMode() 在 main() 方法中不起作用

postgresql - kubernetes 如何将 pod 暴露给集群机器之外的东西?

java - 使用java的点对点应用程序

language-agnostic - 如何在点对点系统中增强但最低限度地分发项目

Python IRC Bot 链接解析器?

ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么?