ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Новый движок передачи сообщений

 

20090
Dimitry @Dimitry
Новый движок передачи сообщений

Требования к пользователям - это поддержка браузером одной их технологий - WebSockets, HTML5 и Flash, а также возможность подключения ччерез порт.
В случае если данные условия не выполняются, включатеся AJAX движок работающий у всех пользователей интернета.

Ориентировочная стоимость скрипта 150евро единоразово.
(2.5 года лицензия включающая бесплатные обновления)

Проходите для тестов работы, скорости и стабильности:
********** - главная разработки
********** - сам чат на новом движке

И так, результат уже очень впечатляющий. Сейчас полностью реализовано 5 движков.

WebSockets - непрерывный, самый современный и качественный движок созданный специально для потоковых соединений (движок на другом порту). К сожалению данную технологию начали использовать все браузеры только с ноября 2012 года, в этого же время и у нас был создан данный движок. Движок работает только в самых новых браузерах, но на данный момент это уже около 60% пользователей. Данный движок автоматически проверяется на работоспособность и используется в приоритете!
Браузеры: IE 10+ Chrome 16+ Firefox 11+ Opera 12.10+ Safari 6+

HTML5 stream - непрерывный движок, передача информации из ифрейма движка (на другом порту) посредством HTML5 (поддержка 93% пользователей) Реализовано определение прерывания связи или ошибки подключения к движку. Реализовано определение кеширования непрерывного подключения таймаутом. К сожалению данный движок кешируют некоторые антивирусы, от чего сообщения выводятся очень долго и чат тормазит. В связи с этим, на данный момент он почти не используется, он применятся только для браузера Google Chrome, потому что антивирусы на него не влияют!

Flash stream - непрерывный движок, передача информации через Flash socket (движок на другом порту) (поддержка flash не менее 80%) Реализовано определение прерывания связи или ошибки подключения к движку. Реализовано определение кеширования непрерывного подключения таймаутом. Данный движок используется в случае, если предыдущие не поддерживаются.

AJAX refresh - незаметные запросы к странице движка без указания порта (80й порт) с интервалом в 10 сек, при написании сообщения пользователем вывод мгновенный что позволяет думать о непрерывной мгновенной передаче информации. (поддержка всеми браузерами, включая смартфоны, в сумме будет работать более чем у 99% пользователей, принято считать что у всех)
Внимание!!! Данный движок не является потоковым и потребляет больше ресурсов сервера, поэтому включается в последнюю очередь и только для тех у кого не работают другие движки!

Движок викторины - это дополнительный движок игры "Викторина" не связанный с окном сообщений, викторина загружается в отдельном фрейме, работает на том же порту что и потоковый движок, была полностью переписана и оптимированна под высокие нагрузки, внешне она идентична викторине на мпчате.

Тестирование браузеров
Все движки работают на всех современных браузерах, проверялось принудительным включением.
Скорость получения сообщения, проверка командой /ping (время от нажатия энтер до вывода сообщения на экран)
При условии что мой сетевой пинг к серверу 40ms и мой минимальный пинг в мпчате составляет 100-150ms.
IE9 - непрерывные движки пинг в чате от 65, ажакс 200
FF - непрерывные движки пинг в чате от 85, ажакс 200
Opera - непрерывные движки пинг в чате от 100, ажакс 200
Chrome - непрерывные движки пинг в чате от 65, ажакс 180
Внимание!!! После вставки данного движка в реальный чат со всеми скриптами и тяжёлыми запросами пинг для каждого случая увеличился на 30ms. Учтите, это тестирование было без антивируса, к примеру с касперским загрузка всего чата на непрерывных движках во всех браузерах кроме chrome замедлялась на 3 сек(видимо буфер), а вывод сообщения замедлялся на 10ms (абсолютно незначительно)

Нашим победителем является Google Chrome, мгновенная загрузка любого движка и максимально быстрый вывод. В реальном чате с включенным антивирусом пинг выдавал 100ms. Далее предпочитается IE9, FF и Opera которая показала во всём себя медленее других. Тесты показывают что чат будет работать у всех, даже на смартфонах, ну как минимум на Ajax. Можно пустить все движки без порта, но вам понадобится проксировать запрос движка например через nginx, в конфигурационном файле всего 1 строка. (но практика показывает что антивирусы чаще кешируют такие соединения, поэтому не стоит)

Ещё раз по браузерам и движкам уже более точно анализировав различные статистики и версии браузеров
Websockets непрерывный поддерживается: IE10+, Opera 12+, FF11+, Chrome 4+, Safari 6+ (итого около 60% аудитории)
HTML5 непрерывный поддерживатеся: IE8+, Opera 9.5+, FF3.5+, Chrome, Safari (итого более 93% аудитории)
Flash непрерывный поддерживается: Все браузеры с Flash9+ (80% аудитории, но требуется только для 7% от первого)
Ajax на том же 80м порту: IE6+, Opera 9+, FF, Chrome, Safari (итого более 99% аудитории)

Требования к серверу и особенности движка
(на данный момент движки сообщений не продаются, продаётся только сам чат)
Серверный потоковый движок как и весь чат в целом, практически не требует ресурсов от сервера - способен выдерживать тысячи подключений единовременно. Запущенный чат сервер с викториной даже при высокой активности не потребляют более 3% CPU и 30мб памяти.
Для работы чата требуется актуальная версия PHP5 и MySQL5 - присутствует на всех хостингах.

Проблемы с новыми антивирусами
Снедавного времени антивирусы начали агрессивно кешировать потоковые движки, что приводит к задержке вывода сообщений до 10 секунд. Спустя несколько дней борьбы с этой проблемой удалось настроить движки WebSockets и Flash таким образом чтобы антивирус не влиял на них.

284
Ярослав @WETERAN
Виста, Хром 18. У меня всё работает.

Отредактировано WETERAN - 10.05.2012
9260
Евгений @starkon
На маке через сафари сообщения не отправляются.
На хроме в ХР вместо одного сообщения отправляет вереницу одинаковых
Еще дома проверю на 7-ке...

Отредактировано starkon - 10.05.2012
1410
Антон @tonik
starkon пишет:

вместо одного сообщения отправляет вереницу одинаковых

Так же...
Семёрка, Опера...

3173
Николай @grom
Хром 17.0 Нормально.

6376
Владимир @Drakoscha
XP FF12 , тоже всё нормалёк 😉 .

2970
удалён @Foggy
В хроме глючит, в остальных всё хорошо.
NOD32 4.0.474.0 в интерактивном режиме, т.е. как только идёт запрос у программ к другим портам, он сообщает и спрашивает, разрешить ли. Однако спрашивало только на доступ плагина флэша к интернету и всё.

[spoiler=Скрины][spoiler=Chrome 20.0.1130.1 dev-m]Не отправляет никаких сообщений.
[/spoiler]
[spoiler=Opera 12.00 beta x64]Всё хорошо
[/spoiler]
[spoiler=IE9 x64]Всё хорошо
[/spoiler]
[spoiler=FF 13.0]Всё хорошо
[/spoiler]
[spoiler=Safari 5.1.7]Всё хорошо
[/spoiler]
[/spoiler]

9260
Евгений @starkon
7-ка, хром, без глюков.

20090
Dimitry @Dimitry
То что сообщения пачкой отправлялись это я делал для тестирования нагрузки чтоб самим не отправлять, ну таест прошёл не плохо в секунду до 500 сообщений выпуливал и CPU 5% всего.

Chrome 20.0.1130.1 dev-m, сейчас вообще-то 18я версия - на ней работает, а девки не считаются.

2970
удалён @Foggy
Dimitry, разумеется сейчас 18. Вот только в хроме стоит автоматическое обновление и уже где-то через полгода максимум эта версия будет у всех, а дев будет 22. Так что не рассчитывать на грядущую версию странно.

20090
Dimitry @Dimitry
Я бы сказал странно не знать что dev версия это даже не бетта и соответственно её никогда не будет обычный пользователь использовать.
И уж надеюсь понятно что в ней куча ошибок и недоработок, например не работает чат. Не знаю почему ты её используешь, ты разве разработчик хрома?)

2970
удалён @Foggy
Dimitry, я использую её для тестирования новых функций. К примеру, некоторые 3D-трансформации из CSS3 работают не до конца правильно в 18 версии, а в 20 они уже неплохо проработаны. То же относится к нововведениям javascript, пришедшим с html5. Я стараюсь следить за тенденциями. Девки хрома в плане стабильности не слишком заметно отличаются от стабильных версий. Прежде я вообще ни разу не наблюдал каких-то лагов в девке, а сижу на ней больше полугода.
Пользователь не будет использовать девку, однако все функции из неё перетекают потом в стабильную версию, таким образом устроена разработка хрома. Так что считать её отдельным браузером, тем более ущербным браузером, под который не нужно разрабатывать - это тоже самое, что готовить еду в столовке на 10 человек, когда предупредили, что точно должно прийти 10 человек, но может прийти до 20 человек. Вроде бы логично, всё как сказали, но потом приходит ещё 10 человек и остаются без еды. Не критично, но обидно.

p.s. я ещё упустил из виду то, что 20 версия работает **********, чем 18.

20090
Dimitry @Dimitry
Всё написанное не о чём не говорит, потому что это dev, и ещё нужно быть в курсе событий, например о большом кол-ве багов и уязвимосетй в хроме. Если ты этого не заметил в своих 3д разработках, это не значит что их нет, читай тематические журнальчики в которых пишут что по выходу новой версии исправляют по 10-20 багов в хроме, а в дев версиях их воможно в 10 раз больше 😉
Ну, а вообще, мы что-то не по теме совсем, вообщем дев версии не принимаются, кстати советую написать в гугл что у них очередной баг.
Если в стабильной 18й работает, а в сырой 20й нет, то это очевидно.

9260
Евгений @starkon
Seniot пишет:

Elfchat, AJAX chat , или ET-CHAT намного круче, тем более ElfChat скоро выйдет с личкой, анкетами, и новейшими технологиями. Mpchat в настоящее время неудобен тем что здесь нельзя рекламировать свои чаты.

И что дальше?
Не устраивает используйте то, что перечислили выше.
Всем не угодишь.

6600
Александр @admiral
Opera 11.62 **********
Firefox 12.0 **********
Проблема с кодировкой скриптов?

20090
Dimitry @Dimitry
это серверная проблема, просто её пока незачем исправлять)
главное стабильность и скорость

2970
удалён @Foggy
Круто!
Теперь вопросы.
Будет ли работать по прежнему irc? (задаю вопрос, ибо кто-то недавно в теме про клиенты для мобильного irc жаловался)
Какой тариф на вашем хостинге нужен, чтобы чат с ним связать? Хотелось бы знать и минимальные варианты (только vps) и максимальные (со всем-всем, что требуется, включая библиотеки, шел, pecl)

20090
Dimitry @Dimitry
irc нет, пора забыть про этого диназавра, который всё равно глючно работает
даже если у будет на каждом чате он желаемый зайти через irc, то он сможет найти и альтернативный способ
у нас на хостинге думаю можно будет по тарифу 10$ без проблем хостить чат, любо любой впс, но тут вы уже сами всё настраиваете

87
k4at @k4at
Ждем готовый продукт или хотя бы бету)

2970
удалён @Foggy
Я тут попробовал удалить дев хрома и поставить стабильную версию. Всё равно не пашет на всём, кроме аякса. Так что дело было не в девке.