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