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

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

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

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

16.08.2008 20:31:44
4 ОТВЕТА
РЕШЕНИЕ

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

2
16.08.2008 20:47:26

Вы можете посмотреть на комету

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

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

0
16.08.2008 22:28:23

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

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

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

2
17.08.2008 03:03:44

Решения 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); }

1
17.09.2012 20:14:19