Есть ли какой-либо возможный способ взаимодействия браузеров друг с другом через lan/wan без использования сервера (прямой одноранговой сети)?
Браузер для обмена сообщениями без сервера?
Ответ 1
Похоже, на горизонте может быть надежда: http://www.w3.org/TR/webrtc/
Ответ 2
IIRC, Opera выпустила какое-то дополнение к своему браузеру, в который встроен веб-сервер только для этой функции:
Не уверен, что это действительно пошло куда угодно, но я думаю, что придет время.
Ответ 3
В чистом HTML/Javascript? Наверное, нет.
Насколько мне известно, в родном JavaScript нет хорошего способа прослушивания подключений. В HTTP клиент открывает порт, отправляет запрос и получает ответ. Вы можете использовать XHTTP или аналогичный класс, чтобы сделать запрос, но там нет хорошего пути на обычной веб-странице, чтобы создать сервер на другом конце, который будет прослушивать запросы.
Учитывая это, я знаю, что Flash предоставляет библиотеку сокетов, которая позволяет слушать соединения. (Я полагаю, что Silverlight тоже это делает, хотя я не исследовал его.) Если бы вы создали объект с использованием любой из этих технологий, вы могли бы слушать запросы на соединение от любого клиента (при условии, что вы не находитесь за брандмауэром или какое-либо другое устройство фильтрации подключений), поддерживайте открытый разъем и отправляйте все, что хотите по кабелю.
Резюме:
-
Вероятно, это невозможно сделать в JavaScript/HTML/CSS.
-
НО, вы можете отключить его во Flash или Silverlight.
Ответ 4
Короткий ответ: Нет. Невозможно.
Длинный ответ: вы можете написать подписанный Java-апплет, который реализует веб-сервер в каждом браузере. Тогда браузер "a" мог бы поговорить с апплетом "b" браузера (не закрывайте эту вкладку!). Таким образом, у вас будет ограниченный доступ к состоянию браузера других пользователей.
Аналогично, вы можете написать плагин/аддон, который мог бы выполнить большую часть того же самого.
Реальный вопрос, почему вы хотите это сделать? Что вы пытаетесь достичь? Ответьте на этот вопрос, и мы сможем найти решение.
Ответ 5
Да, они могли бы, но их нужно было бы спроектировать, чтобы установить соединение (или ему понадобится модуль, который это сделает).
Даже если мне интересно, зачем им это нужно.
Ответ 6
Flash - Stratus. Новые материалы в последней вспышке, которые обеспечивают соединения P2P.
Ответ 7
Если браузеры находятся за брандмауэрами, вы можете посмотреть использование обхода NAT. Протоколы, такие как STUN и TURN, используются WebRTC для этого. На этом веб-сайте есть несколько хороших примеров/учебников HTML5 Rocks
Ответ 8
Да, вы можете попробовать 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