Два компьютера, находящие друг друга по [закрытому] Интернету

Да, вам просто нужно проложить маршрут для /guests до вашего более общего /{any}. Помните, что Laravel проверяет маршруты сверху вниз, и будет использовано первое совпадение.

Route::get('/guests', 'GuestController@index');
// other specific routes
// ...
Route::get('/{any}' , 'SinglePageController@index')->where('any', '.*');
14
задан bortzmeyer 28 April 2009 в 06:58
поделиться

9 ответов

Текущий лучший способ достигнуть сети мультиузла без централизованной координации с помощью Распределенных Хеш-таблиц. Та ссылка объясняет немного и связывается с различными реализациями, которые можно усилить.

Тем не менее Вам все еще нужна каждая машина для координирования по крайней мере с некоторыми коллегами. Это просто, что Вам не нужен он для координирования с центральным сервером. Решение с помощью центрального сервера, которые знают и (все) участвующие машины, будет также работать, но вводит дальнейшие ограничения для анонимности и масштабируемости, просто помните то, что произошло с Napster.

12
ответ дан 1 December 2019 в 09:13
поделиться

Вам нужно промежуточное третье лицо, которое они оба знают, это могло распределить сообщения, направленные к нему подобным широковещательной передаче способом.

7
ответ дан 1 December 2019 в 09:13
поделиться

Нет, Вы не можете широковещательно передать как этот по Интернету. Необходимо знать, в какой адрес Вы хотите, чтобы Ваши пакеты перешли.

2
ответ дан 1 December 2019 в 09:13
поделиться

Решение для этой проблемы (где ни одна из Ваших коллег не знает заключительный адрес другого) могло полагаться на протоколы IM.

В частности, протокол XMPP расширяем, открыт и используется многими поставщиками, такими как Google Talk. Библиотеки существуют для большинства языков, и это имеет плюс способности работать (медленно и прохождение через стороннего сервера), даже если оба хоста находятся позади поля NAT.

Если коммуникация должна использовать другой канал, можно использовать XMPP, чтобы обмениваться IP-адресом и затем возобновить стандартный маршрут сокета (но если Вы шифруете свои сообщения, не должно быть никакой проблемы, даже проходящей сторонний сервер - чтобы быть верной, что все пакеты проходят недоверяемые сторонние маршрутизаторы, таким образом, необходимо зашифровать так или иначе, если у Вас есть уязвимые данные..).

Надеюсь, это поможет.

4
ответ дан 1 December 2019 в 09:13
поделиться

Возможное решение для Вас состоит в том, чтобы использовать динамическую службу DNS.

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

Обратите внимание, что это не решит потенциальную проблему брандмауэров между двумя хостами, блокирующими Ваши пакеты. Единственный практический путь вокруг этого для обоих хостов для открытия исходящего соединения с центральным хостом, который может затем передать данные между ними.

2
ответ дан 1 December 2019 в 09:13
поделиться

UDP является тупиком - его просто протокол, где порядок, пакеты получены, менее важен и существует маршрутизация проблем по WANS. Вы сказали, что хотите подключить два компьютера в "Интернете", по-видимому, с конечными точками, перемещающимися и т.д. Единственный путь состоит в том, чтобы использовать центральный сервер в качестве регистра/каталога. Если каждая конечная точка также веб-сервис или что-то и регистры его текущий IP-адрес и имя периодически затем другая конечная точка может искать IP-адрес другого использования этого сервиса. (мог разместить Ваш собственный сервер DNS и кодировать Вашу конечную точку для регистрации на этом DNS?)

Одна из проблем - то, что, даже если у Вас есть IP-адрес, каковы один или несколько узлов, находятся позади маршрутизатора межсетевых экранов или маршрутизатора NAT? Необходимо будет разместить сервер для проксирования трафика. Лучшим примером является SKYPE - изучают, как он работает, он документируется, очень интересен.

Самый простой ответ мог бы быть должен вскочить на спину на существующем сервисе, таком как средство рассылки, скайп, разрядный поток, и т.д.

Simon

1
ответ дан 1 December 2019 в 09:13
поделиться

Если бы компьютеры работали под Windows, я бы посмотрел на использование PNRP .

1
ответ дан 1 December 2019 в 09:13
поделиться

Многоадресная рассылка также является возможным решением. Это, конечно, возможно в корпоративной сети

-2
ответ дан 1 December 2019 в 09:13
поделиться

Посмотрите на алгоритм аккорд или выпечки. Это наложенная сеть (на основе DHT), в которой задействован механизм обнаружения. Это алгоритм маршрутизации P2P (Peer 2 Peer).

2
ответ дан 1 December 2019 в 09:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: