Плагин Firefox - сокеты
Мне всегда был нужен способ установить соединение с сервером через сокет и позволить серверу управлять DOM страницы. Например, это можно использовать на странице котировок акций, чтобы сервер мог выдвигать новые котировки по мере их появления.
Я знаю, что это классическое ограничение (функция?) Протокола HTTP-запроса / ответа, но я думаю, что это может быть реализовано как плагин Firefox (кроссбраузерная совместимость не важна для моего приложения). Решения Java / Flash неприемлемы, потому что (насколько я знаю) они живут в коробке и не могут взаимодействовать с DOM.
Может ли кто-нибудь подтвердить, насколько это возможно для плагина Firefox? Кто-то уже создал это или что-то подобное?
Ответов (4)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, похоже, не получает особого внимания, а список рассылки довольно скудный.