Плагин Firefox - сокеты

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

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

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

Ответов (4)

Решение

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

Решения 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 . Это не позволяет серверу «обновлять» клиентскую страницу напрямую, но все новые данные отправляются на страницу через одно соединение.

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

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

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

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