Я просматривал документы 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-серверы, которые легко установить и настроить для моих целей?
Не существует «простого» способа сделать p2p и нет модуля или техники для этого с php или apache.
Приложения p2p, такие как BitTorrent или более ранние версии Skype, обычно взаимодействуют с вашим маршрутизатором, чтобы эффективно открыть порт, к которому будут подключаться другие клиенты. Если вы не можете открыть порт на своем маршрутизаторе, вы должны подключить оба клиента к стороннему серверу и направлять запросы через него.
Существует несколько библиотек для подключения серверов Java Tomcat или Jetty с p2p, но они не часто используются в производстве. Вы могли бы попробовать запустить реализацию PHP на основе Java поверх одного из них, но я думаю, что то, что вы хотите сделать, вероятно, не стоит усилий.
Если бы меня попросили сделать это, я бы сделал одно из следующих действий:
Других решений пока нет …