Как стать автором
Обновить

Комментарии 34

В Http изначально не предусмотрен механизм callback. Поэтому единственное что приходится делать — это периодический полинг и по возможности задерживать ответ http настолько насколько это возможно, оставляя коннекшн открытым. Дело усложняют корпоративные proxy, которые имеют собственное представление о запросах, времени ожидания и т.д… Как показывает практика, сервисы типа google talk и icq по http из корпоративного окружения работают вон плохо. Наши прокси, например, закачивают response, прогоняют через корпоративный антивирь и после этого отдают клиенту. Понятно проблематично будет использовать http streaming.
С развитием модели клиент-сервер должны развиваться и приложения которые вклиниваются между клиентом и сервером: proxy, фаерволы, антивирусы и т.д. Ну и конечно админы :-)
иначе будем стоять на месте
HTTP Streaming != Commet.

Как бэ так сложилось, что это немного разые понятия.
Мне кажется, что самое просто решение для обратного вызова, это небольшой flash-апплет на клиенте.

Flash уже давно умеет работать с обычными сокетами, а так же взаимодействовать с JS в браузере, передавая ему событие и его данные. Почему бы не поручить ему эту часть работы.

На другой стороне может быть любой простейший socket-сервер.

Тихо так,
кажись, будущее настает, раз пошла речь о таких технологиях.
Круто только вот по моему серверы которые выдерживают 500000 запросов за нное количество времяни в раз эдак сто меньше выдержат клиентов подключенных за нное количество времяни, вопрос за чем так рисковать оборудованием и пользователями веб сайтов, ради первых подключенных?

Конечно круто, конечно здорово но, в в вебе оно лишнее, видь веб в приципе это большая доска обьявления которою должны просматривать люди а не к которым должна она сама приходить, хотя я и не против был бы, но вот опять и тут минус, мне надаест разнозчик этих обьевлений, а в вебе мне надоет постоянный конект с сервером.
Спросить о вы хотите чем-то?
То, что лично вам подобные вещи не нужны вовсе не значет, что «в вебе оно лишнее».
Глянул через Firebug
Реализация проста — с начала работы скрипт «устанавливает сессию», после чего отправляет запрос на сервер. Ждёт одно из следующих событий:
1. Обрыв соединения
2. Получение данных

В любом из случаев он сразу повторно открывает соединение!
Во втором случае — ещё и совершает действие, основанное на полученных данных

Огромное спасибо за статью!
Для Win32 есть дуплексные WCF-сервисы, правда, насколько я знаю, на стороне клиента там предполагается Silverlight, возможно я ошибаюсь.
Лично я в подобной ситуации остановился на Erlang-е. Всем кому интересны подобные технологии рекомендую посмотреть и в эту сторону.
Больше интересует как с этими вещами у flex и silverligth. Кто-нибудь решал такие задачи на этих технологиях?
Для flex посмотрите в сторону WebORB + RMTP (Real-time messaging)
НЛО прилетело и опубликовало эту надпись здесь
Я не совсем понял, кто-то тут еще писал про дуплексные сервисы — вы listeners-сокеты открываете на клиентской стороне? А как быть тем, кто за NAT сидит?
НЛО прилетело и опубликовало эту надпись здесь
Вообще, у меня вот ADSL модем и я сижу за NAT, на всех работах локальные сети за NAT — опять же — всякие устройства и гаджеты в мобильных сетях… Сложно представить даже количество людей сидящих за NAT или хотя бы firewall'ами. Вы включенный стандартный firewall Windows учли?
НЛО прилетело и опубликовало эту надпись здесь
В среднем, согласно счетчикам, посетителей на сайтах в 1.3-1.5 раза больше, чем хостов.
НЛО прилетело и опубликовало эту надпись здесь
Кто такие вы?
Счетчики определяют. Не 100% точно (бывает что разными браузерами один человек пользуется или один браузер, но был реконнект в ходе которого был выдан новый ip), но это достаточно чтобы сказать, что на данный момент людей, что сидят за натом полно. Это и большие конторы и домосети и всякие студ. общаги где сотни и тысячи посетителей могут 1 или несколько ip использовать.
НЛО прилетело и опубликовало эту надпись здесь
Не знаю. Я говорю лишь о том, что nat пользователей достаточно много, чтобы их игнорировать. Ну конечно если идеолог проекта человек разумный…
Ужс, неужто вы думаете что NAT пользователей лишь маленький процент?
Пускай, правда, что провайдеры дабы упростить себе жизнь начали выделять юзерам реальные айпишники, но как насчёт юзеров у которых дома Wi-Fi роутеры? Таких становится всё больше и больше.
И даже это далеко и ни разу не показатель.

Я сейчас сижу за ADSL-модемом. У меня внешний IP-адрес (пусть и динамический), внутри моей домашней подсети один компьютер. Я и посетитель и хост. Но к моему браузеру вы не пробьетесь пока я в модеме правила не настрою.

Я у скольких включен firewall под Windows — как creotiv собрался его включать? Неужели из набора секретных команд Javascript'а?
Если это мне, то пробьюсь, если куки включены. Ну в смысле посчитать смогу…
Зачем-то сделали свою обертку вокруг epoll и свой http парсер, вместо того, чтобы взять libevent.
Alexey Ivanov a écrit:
> Will it be libevent or some custom implementation?

For the moment we don't plan to use libevent, but… who know :)
Уже в двух проектах использовал DWR, очень хорошо вписывается в архитектуру J2EE. Против всяких прокси используется Early Closing Mode. Остался доволен.
Если уж всё равно предлагается ставить ПО на сервер, то почему на костыли-то (HTTP)? Тогда уж полноценные сокеты открывать и на клиенте через флеш работать.

PS. сам делаю и на комете и на сокетах.
Флеш не панацея, и чем больше различных технологий и подходов ИМХО тем лучше.
«Я как бэ не понял» (с), разве порт 6969 не является де-факто портом BitTorrent-трекеров? Или с появлением php'шных трекеров их вешают только на 80-ый порт? :)
Пообщался с автором по поводу поддержки не-линукс систем, если кому интересно:
Alexey Ivanov a écrit:
> > Are you planing to add support for non-epoll systems like FreeBSD and
> > Solaris by using kqueue and /dev/poll on that OSes?
> >
> > —
> > Sincerely y0uRz,
> > Alexey Ivanov

Hi Alexey,

Since kqueue et /dev/poll work on the same way than epoll, porting APE
to such OS could be pretty easy.
This will may be happen on the 1.0 release ;)

Cheer,

Anthony Catel
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории