【发布时间】:2012-11-29 06:06:35
【问题描述】:
我知道像 Skype 这样的 p2p 软件正在为此使用 UDP 打孔。但是,如果其中一个客户端是需要从另一个客户端下载文件的 Web 浏览器(TCP 连接而不是 UDP)怎么办?这种情况有什么技术吗?
我可以有一个中间公共服务器,它可以与客户端结婚,但我无法承受这些客户端之间的所有流量都通过这个服务器。公共服务器只能在客户端之间建立连接,就像 Skype 一样,仅此而已。这必须通过 TCP(更准确地说,HTTP)才能让下载客户端成为 Web 浏览器。
不得要求两个客户端在他们的路由器中设置任何东西或类似的东西。
我打算用 C/C++ 编写这个代码,但我想知道这个想法是否可行。
【问题讨论】:
-
库 stunovertcp 看起来很有希望,我去看看。
-
无耻插件 - 使用特技演员。它积极支持并支持 STUN 的多种配置,包括 TCP。 www.stunprotocol.org
-
谢谢。还有一个问题——如果只有一方知道所有这些 STUN 的东西,是否有可能(至少在理论上)使用它?在我的情况下,我有一个具有专用 IP 地址的服务器对等服务器和公共服务器,它知道通信的细节,而第 3 方(客户端下载文件)是通过 HTTP 工作的常规浏览器。在这种情况下可以使用 STUN 吗?或者,它假设所有各方都必须通过此协议进行通信?
标签: p2p nat upnp portforwarding