Связь браузера с браузером без сервера? - PullRequest
14 голосов
/ 19 июля 2010

Есть ли какой-нибудь возможный способ общения браузеров друг с другом по локальной сети / без использования сервера (прямой одноранговый)?

Ответы [ 8 ]

5 голосов
/ 18 октября 2012

Похоже, на горизонте может быть надежда: http://www.w3.org/TR/webrtc/

1 голос
/ 24 апреля 2017

Да, вы можете попробовать http://httprelay.io с вызовами AJAX.Это просто так:

* Send data: POST https://httprelay.io/link/your_secret_channel_id
* Receive data GET https://httprelay.io/link/your_secret_channel_id
1 голос
/ 18 июня 2015

Если браузеры находятся за брандмауэрами, вы можете посмотреть через NAT traversal. Протоколы, такие как STUN и TURN, используются WebRTC для этого. Этот веб-сайт содержит несколько хороших примеров / учебных пособий HTML5 Rocks

1 голос
/ 19 июля 2010

В чистом HTML / Javascript?Наверное, нет.

Насколько мне известно, в нативном JavaScript нет хорошего способа прослушивания соединений.В HTTP клиент открывает порт, отправляет запрос и получает ответ.Вы можете использовать XHTTP или аналогичный класс для отправки запроса, но на обычной веб-странице нет хорошего способа создать сервер на другом конце, который бы прослушивал запросы.

Учитывая это, я знаю, что Flash предоставляетбиблиотека сокетов, которая позволяет прослушивать соединения.(Я полагаю, что Silverlight также делает это, хотя я не исследовал его.) Если бы вы создавали объект с использованием любой из этих технологий, вы могли бы прослушивать запросы на подключение от любого клиента (при условии, что вы не находитесь за брандмауэром).или какое-либо другое устройство фильтрации подключений), сохраняйте открытый сокет и отправляйте по проводам все, что вы хотите.

Резюме:

  1. Вероятно, это невозможно сделать в JavaScript/HTML/CSS.

  2. НО, вы можете сделать это во Flash или Silverlight.

1 голос
/ 19 июля 2010

IIRC, Opera выпустила какое-то дополнение к своему браузеру, в которое встроен веб-сервер только для этой функциональности:

http://unite.opera.com/

Не уверен, что оно куда-то пошло, но я думаю, что его времяпридет.

0 голосов
/ 19 июля 2010

Вспышка - Стратус.Новое в последней версии флэш-памяти, обеспечивающей P2P-соединения.

0 голосов
/ 19 июля 2010

Да, они могли бы, но их нужно было бы спроектировать для установления соединения (или нужно было бы иметь модуль, который это делает).

Даже если мне интересно, зачем им это нужно..

0 голосов
/ 19 июля 2010

Краткий ответ: Нет. Не возможно.

Длинный ответ: Вы можете написать подписанный Java-апплет, который реализует веб-сервер в каждом браузере. Затем браузер «a» может общаться с апплетом браузера «b» (не закрывайте эту вкладку!). Таким образом, у вас будет ограниченный доступ к состоянию другого браузера.

Точно так же вы могли бы написать плагин / аддон, который мог бы выполнить многое из того же.

Реальный вопрос в том, зачем вам это делать? Что вы пытаетесь достичь? Ответьте на этот вопрос, и мы сможем найти решение.

...