如何在Apache服务器之间使用或设置基于P2P / Cloud的连接?

时间:2015-08-15 09:21:15

标签: php apache p2p

我一直在浏览P2P文档,但我似乎无法获得正确的信息,因为大多数人都在讨论P2P文件共享或VOIP。

我的问题实际上是关于使用P2P或基于云的握手的两台机器之间的HTTP连接。

为简单起见,我有一个基于客户端到客户端LAMP的应用程序。该应用程序基本上是在小型服务器上运行的基于浏览器的PHP软件。

Office A和Office B各有一台服务器,我的应用程序正在运行,每台服务器需要互相通话HTTP GET / POSTS。

如果每个办公室都有公共IP并且路由器配置正确,我的应用程序可以正常工作。

但现在我的问题是,REAL WORLD的使用需要独立于互联网连接类型和网络配置。

我注意到越来越多的设备,如IP摄像头和DVR,现在具有P2P连接功能,即使通过防火墙也能轻松连接设备。

基本上,设备有一个预设的IP /域名w / c用于P2P服务器..

我还了解到数据不是P2P服务器的负担,因为数据不再通过P2P服务器,而只是通过P2P服务器在两台设备之间进行“握手”,然后是数据在两台设备之间直接往返......

这就是我想要模仿我的应用程序。

基于LAMP的客户端应用程序是否可行?它真的很复杂吗?是否有现成的P2P服务器易于安装和配置?

1 个答案:

答案 0 :(得分:0)

没有'简单'的方法来做p2p,也没有用php或apache做的模块或技术。

像BitTorrent或早期版本的Skype这样的p2p应用程序通常通过与路由器通信来有效地打开其他客户端将连接到的端口。如果您无法打开路由器上的端口,则必须让两个客户端连接到第三方服务器并通过该路由器路由请求。

有一些用于将Java Tomcat或Jetty服务器与p2p连接的库,但它们通常不用于生产。您可以尝试在其中一个上运行基于Java的PHP实现,但我认为您想要做的事情可能不值得。

如果我被要求这样做,我会做以下其中一项:

  • 在两个办事处之间建立永久VPN连接,以便他们可以看到彼此的服务器
  • 将服务器放在两个办公室外的公共网络上,并让它们与之通信。