Вопрос

Мне всегда хотелось найти способ установить сокетное соединение с сервером и позволить серверу манипулировать DOM страницы.Например, это можно использовать на странице котировок акций, чтобы сервер мог отправлять новые котировки по мере их появления.

Я знаю, что это классическое ограничение (функция?) протокола запросов/ответов HTTP, но я думаю, что это можно реализовать как плагин Firefox (кросс-браузерная совместимость не важна для моего приложения).Решения Java/Flash неприемлемы, потому что (насколько мне известно) они живут в коробке и не могут взаимодействовать с DOM.

Может ли кто-нибудь подтвердить, возможно ли это с помощью плагина Firefox?Кто-нибудь уже создал это или что-то подобное?

Это было полезно?

Решение

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

Другие советы

Это должно быть возможно.Я разработал приложение xulrunner, которое подключается к TCP-серверу с помощью сокетов.Разработка расширений, вероятно, будет иметь те же возможности.Я использовал библиотеку от mozdev — JSLib.Специально ознакомьтесь с сетевой код.Тот факт, что существует Дополнение Firefox для JSlib Дополнение Firefox делает больше увереннее.

По сути, насколько я понимаю, сокеты не являются частью JavaScript, но через XPCOM вы можете получить доступ к необработанным сокетам, как в любом приложении c/c++.

Предупреждение: JSLib, похоже, не пользуется большим вниманием, а список рассылки довольно скуден.

Решения Java/Flash не приемлемы, потому что (насколько я знаю) они живут в коробке и не могут взаимодействовать с DOM.

На самом деле это не относится к Java.Вы можете взаимодействовать с Java через JavaScript и вносить изменения в DOM.

http://stephengware.com/proj/javasocketbridge/

В этом примере есть два метода JavaScript для взаимодействия.

Отправлять:

socket_send("This was sent via the socket\n\n");

Получать:

on_socket_get(message){ more_code(message); }

Возможно, вы захотите взглянуть на Комету.

он же push-уведомление сервера.Это не позволяет серверу «обновлять» клиентскую страницу напрямую, но все новые данные отправляются на страницу через одно соединение.

Конечно, Фаерфокс расширение (а также плагины, которые представляют собой двоичные библиотеки, которые могут делать то же, что и любое другое приложение), также могут работать с сокетами.Видеть 1, 2.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top