Как использовать или настроить P2P / Облачные соединения между серверами Apache?

Я просматривал документы P2P, но не могу получить нужную информацию, потому что большинство говорит о совместном использовании файлов P2P или VOIP.

Мой вопрос на самом деле о HTTP-соединении между двумя компьютерами с использованием P2P или облачного рукопожатия.

Для простоты у меня есть клиент-клиентское приложение на основе LAMP. Приложение представляет собой PHP-программу на основе браузера, работающую на небольшом сервере.

В каждом из Office A и Office B есть сервер с запущенным моим приложением, и каждому серверу нужно общаться друг с другом HTTP GET / POSTS.

Мое приложение работает нормально, если у каждого офиса есть публичный IP и маршрутизаторы настроены правильно.

Но теперь моя проблема заключается в том, что использование РЕАЛЬНОГО МИРА должно быть независимым от типа интернет-соединения и сетевых конфигураций.

Я заметил, что все больше и больше устройств, таких как IP-камеры и видеорегистраторы, теперь поддерживают P2P-соединения, что позволяет действительно легко подключать устройства даже через брандмауэры.

В основном устройства имеют предварительно заданный IP / доменное имя, которое используется для P2P-сервера.

Я также узнал, что данные не являются бременем для P2P-сервера, потому что данные больше не проходят через P2P-сервер, а скорее лишь своего рода «рукопожатие» между двумя устройствами через P2P-сервер, затем данные отправляются на и ПРЯМО между 2 устройствами ….

Это то, что я хочу имитировать для моего приложения.

Возможно ли это для клиентского приложения на основе LAMP? Это действительно сложно? Есть ли готовые P2P-серверы, которые легко установить и настроить для моих целей?

0

Решение

Не существует «простого» способа сделать p2p и нет модуля или техники для этого с php или apache.

Приложения p2p, такие как BitTorrent или более ранние версии Skype, обычно взаимодействуют с вашим маршрутизатором, чтобы эффективно открыть порт, к которому будут подключаться другие клиенты. Если вы не можете открыть порт на своем маршрутизаторе, вы должны подключить оба клиента к стороннему серверу и направлять запросы через него.

Существует несколько библиотек для подключения серверов Java Tomcat или Jetty с p2p, но они не часто используются в производстве. Вы могли бы попробовать запустить реализацию PHP на основе Java поверх одного из них, но я думаю, что то, что вы хотите сделать, вероятно, не стоит усилий.

Если бы меня попросили сделать это, я бы сделал одно из следующих действий:

  • установить постоянное VPN-соединение между двумя офисами, чтобы они могли видеть серверы друг друга
  • Разместите сервер в общедоступной сети за пределами обоих офисов и попросите их об этом связаться.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]