WebChat - Веб-интерфейс (2.00 от 05.02.12)

Здесь содержатся плагины, графические оболочки, наборы смайлов и другие дополнения к CommFort.
ZigZagkms
Сообщения: 109
Зарегистрирован: 08:23, 11.12.2008
Откуда: Комсомольск-на-Амуре
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta от 09.11.11)

Сообщение ZigZagkms »

Скачал посмотрел, удивился. Давно хотел посмотреть как работает ваш плагин.

Первым делом полез ради интереса смотреть структуру вашей БД. Первое что бросилось в глаза, все счетчики-идентификаторы хранятся в поле с типом BIGINT (и не стоит UNSIGNED), т.е. вы подразумеваете что в вашей таблице когда то будет накоплено 9 223 372 036 854 775 807 записей (учитывая что они не копятся)? Если в секунду писать по 10 (!) записей, то на это уйдет 29 986 514 372 ЛЕТ, все, кто хоть как то осведомлен в вопросе проектирования БД, выделяют столько, сколько нужно, а не столько сколько максимально можно поставить.
Также увидел что количество пользователей в канале вы храните в поле типом BIGINT, т.е. вы считаете, что у кого то будет 9 223 372 036 854 775 807 пользователей в канале?
И почитайте про реляционную модель данных, у вас данные как попало хранятся...
Продолжать по БД можно долго, пока про каждое поле не напишу :D
$teelR@t писал(а):
dscTobi писал(а):Надеюсь эту фитчу можно отключать?
Эта фича работает только для пользователей, которые заходят через браузер, так как автоматически отследить момент, когда пользователь уже не хочет пользоваться чатом - не легкая задача. Браузер отправляет запросы к плагину раз в 2 секунды, поэтому если пользователь находится на страничке чата, то отключение ему не грозит ;)
Очень легкая задача, 21 век на дворе, читайте про WebSocket ( http://ru.wikipedia.org/wiki/WebSocket ), предчувствую вопрос про несовместимости со старыми браузерами - копайте инфу про костыли через флеш, и вообще, представьте что такое раз в 2 секунды запрос на плагин от, например, хотя бы 100 активных пользователей сидящих через этот ваш вебинтерфейс...


Судя по тому что я поверхностно увидел, страшно представить что у вас творится с самим плагином, реализацией потоко безопасности и т.д. и т.п., а самое главное с защитой от внешней среды, ведь ваш плагин напрямую контактирует с "небезопасной" зоной, вообщем я бы очень не рекомендовал, и сам, пожалуй, удалю :!:

Xyligan писал(а):
$teelR@t писал(а):Xyligan, sasha, в посте о версии 2.00 beta был написан адрес ;) - webcf.ru.
На webcf.ru по кнопке качается плагин. Меня же интересует вэб-морда. Её можно где-то скачать? Чтобы тестить на своем сайте (конкретно у меня сайт на Joomla!)
Если очень хочется то очень легко можно разобраться, заходим к ним на сайт, вводим любой сервер, жмем конект, залазим в исходных код, скачиваем "cf-webchat-api.js" - это плагин для jQuery, разбирать как он работает сейчас некогда, там по названию методов можно быстро сообразить что к чему и запустить на своем сайте.
Последний раз редактировалось ZigZagkms 23:56, 22.11.2011, всего редактировалось 1 раз.
Забросил, всем спасибо, исходники раздаю кому надо https://github.com/ZigZagkms
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta от 09.11.11)

Сообщение $teelR@t »

ZigZagkms писал(а):Скачал посмотрел, удивился. Давно хотел посмотреть как работает ваш плагин.

Первым делом полез ради интереса смотреть структуру вашей БД. Первое что бросилось в глаза, все счетчики-идентификаторы хранятся в поле с типом BIGINT (и не стоит UNSIGNED), т.е. вы подразумеваете что в вашей таблице когда то будет накоплено 9 223 372 036 854 775 807 записей (учитывая что они не копятся)? Если в секунду писать по 10 (!) записей, то на это уйдет 29 986 514 372 ЛЕТ, все, кто хоть как то осведомлен в вопросе проектирования БД, выделяют столько, сколько нужно, а не столько сколько максимально можно поставить.
Также увидел что количество пользователей в канале вы храните в поле типом BIGINT, т.е. вы считаете, что у кого то будет 9 223 372 036 854 775 807 пользователей в канале?
И почитайте про реляционную модель данных, у вас данные как попало хранятся...
Продолжать по БД можно долго, пока про каждое поле не напишу :D
Читать про реляционную модель данных мне не надо. Все что мне надо знать я знаю...
Да, действительно размеры выделенные под поля не рациональны, но изменять на данный момент я их не буду, так как собираюсь переходить или на SQLite или на внутреннее кеширование, сейчас есть более важные задачи по улучшению производительности.
По поводу хранения данных "как попало" я с вами не соглашусь. Данные хранятся конечно не в последней нормальной форме, но и текущие обстоятельства работы с АПИ не позволяют максимально оптимально сделать структуру, а если и сделать её таковой, то работать с ней будет не удобно.
ZigZagkms писал(а):
$teelR@t писал(а):
dscTobi писал(а):Надеюсь эту фитчу можно отключать?
Эта фича работает только для пользователей, которые заходят через браузер, так как автоматически отследить момент, когда пользователь уже не хочет пользоваться чатом - не легкая задача. Браузер отправляет запросы к плагину раз в 2 секунды, поэтому если пользователь находится на страничке чата, то отключение ему не грозит ;)
Очень легкая задача, 21 век на дворе, читайте про WebSocket ( http://ru.wikipedia.org/wiki/WebSocket ), предчувствую вопрос про несовместимости со старыми браузерами - копайте инфу про костыли через флеш, и вообще, представьте что такое раз в 2 секунды запрос на плагин от, например, хотя бы 100 активных пользователей сидящих через этот ваш вебинтерфейс...
Вы правильно предчувствовали вопрос... Если учитывать то, что WebSocket в большинстве браузеров или не поддерживается или просто закрыт, то смысла его использовать нет, и я вообще отказался от использования флеша в веб-интерфейсе. Чтобы реализовать все это даже через веб сокеты надо уделить этому достаточно много времени, которого у меня к сожалению не так уж и много. Как только появится время - обязательно займусь этим вопросом.
По поводу нагрузки мы конечно не тестировали веб-интерфейс на большом количестве пользователей, но так как пользователи веб-интерфейса работают в отдельном потоке от других пользователей, то они как минимум не создают нагрузки для других пользователей.
ZigZagkms писал(а):Судя по тому что я поверхностно увидел, страшно представить что у вас творится с самим плагином, реализацией потоко безопасности и т.д. и т.п., а самое главное с защитой от внешней среды, ведь ваш плагин напрямую контактирует с "небезопасной" зоной, вообщем я бы очень не рекомендовал, и сам, пожалуй, удалю :!:
Вы попытались сделать отличную анти-рекламу моему плагину, но к сожалению вы в корень не правы. Доступ ко всем переменным, которые используются более чем одним потоком, потокобезопасен. Я отлично понимаю с чем мой плагин контактирует и фильтрую все входящие данные. Я бы не делал на вашем месте такие дерзкие выводы, не видя исходного кода ПО. В отличие от вас плагин я разрабатываю без какой-либо финансовой помощи, поэтому и делаю его только в свободное от работы время.
ZigZagkms писал(а):
Xyligan писал(а):
$teelR@t писал(а):Xyligan, sasha, в посте о версии 2.00 beta был написан адрес ;) - webcf.ru.
На webcf.ru по кнопке качается плагин. Меня же интересует вэб-морда. Её можно где-то скачать? Чтобы тестить на своем сайте (конкретно у меня сайт на Joomla!)
Если очень хочется то очень легко можно разобраться, заходим к ним на сайт, вводим любой сервер, жмем конект, залазим в исходных код, скачиваем "cf-webchat-api.js" - это плагин для jQuery, разбирать как он работает сейчас некогда, там по названию методов можно быстро сообразить что к чему и запустить на своем сайте.
Вы опять ошибаетесь... "cf-webchat-api.js" - это не плагин для jQuery. Он только использует эту библиотеку для работы с DOM.
По завершению тестов я выложу модули для разных CMS.

Прошу вас не организовывать троллинг и последующие дискуссии перевести в личку.
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
ZigZagkms
Сообщения: 109
Зарегистрирован: 08:23, 11.12.2008
Откуда: Комсомольск-на-Амуре
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta от 09.11.11)

Сообщение ZigZagkms »

$teelR@t писал(а):Вы попытались сделать отличную анти-рекламу моему плагину
...
Прошу вас не организовывать троллинг и последующие дискуссии перевести в личку.
Вот так всегда, я вам и остальным раскрыл очень подробно почему я считаю (не утверждаю) что ваш плагин не безопасен и не оптимизирован под возможные высокие нагрузки, которые могут возникнуть на других серверах, а вы сочли за антирекламу..
Забросил, всем спасибо, исходники раздаю кому надо https://github.com/ZigZagkms
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta от 09.11.11)

Сообщение $teelR@t »

ZigZagkms писал(а):
$teelR@t писал(а):Вы попытались сделать отличную анти-рекламу моему плагину
...
Прошу вас не организовывать троллинг и последующие дискуссии перевести в личку.
Вот так всегда, я вам и остальным раскрыл очень подробно почему я считаю (не утверждаю) что ваш плагин не безопасен и не оптимизирован под возможные высокие нагрузки, которые могут возникнуть на других серверах, а вы сочли за антирекламу..
Ну и вы увидели мое мнение, которое заключается в том, что ваши выводы относительно безопасности не подкреплены никакими доказательствами...
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
NeoSonic
Сообщения: 10
Зарегистрирован: 04:42, 05.07.2010

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение NeoSonic »

Проблема в работе плагина.

Код: Выделить всё

[13:28:21] Общие. Неизвестная ошибка: "Access violation at address 039FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0C32A6A8" с пометкой "EAccessViolation" в элементе TPanel.
[13:28:21] Общие. Произошла ошибка во время получения информации о канале "снежки". Ошибка: "Integer overflow".
[13:28:21] Общие. Произошла ошибка во время получения информации о канале "vlgames". Ошибка: "Integer overflow".
[13:28:21] Общие. Произошла ошибка во время получения информации о канале "vltorrents". Ошибка: "Integer overflow".
[13:28:20] Общие. Неизвестная ошибка: "Access violation at address 039FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0C32AC3C" с пометкой "EAccessViolation" в элементе TPanel.
[13:28:18] Общие. Неизвестная ошибка: "Access violation at address 039FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0C32AFCC" с пометкой "EAccessViolation" в элементе TPanel.
[13:28:18] БД. Соединение с БД установлено.
и так каждый раз при включении плагина, причем ошибка

Код: Выделить всё

Общие. Неизвестная ошибка: "Access violation at address 039FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0C32A6A8" с пометкой "EAccessViolation" в элементе TPane
вылетает всякий раз при нажатие на кнопку включения(первая кнопка в плагине, зеленая окружность с чертой).

сервер версии 5.03
ОС: WIN Server 2003
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение $teelR@t »

NeoSonic, ок, проверим, спасибо за багрепорт...
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
Аватара пользователя
batmanblood
Сообщения: 84
Зарегистрирован: 13:07, 15.08.2008
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение batmanblood »

Установил плагин на сервере Commfort, создал чистую БД, тест в плагине на соединение - успешно, создал структуру БД через плагин, включил плагин.
В логах:

Код: Выделить всё

[10:04:04] Общие. Неизвестная ошибка: "Cannot change Visible in OnShow or OnHide" с пометкой "EInvalidOperation" в элементе TMainForm.
[10:00:45] Соединения. Серьезная ошибка во время управления соединениями. Can't delete expired connections.
[09:55:45] Соединения. Серьезная ошибка во время управления соединениями. Can't delete expired connections.
[09:53:48] Общие. Тест подключения прошёл успешно. Настройки сохранены..
[09:53:48] БД. Соединение с БД установлено.
[09:50:45] Соединения. Серьезная ошибка во время управления соединениями. Can't delete expired connections.
Разрешил из внешки соединения по портам 9850 и 9752 (не знаю какой именно требуется, не нашел инструкции по установке), захожу на http://webcf.ru/ ввожу адрес ksk23.ru , Подключиться:
Сервер не доступен (http://webcf.ru/chat/?address=ksk23.ru)

Что не так?

Еще вопрос: на каком движке веб-интерфейс? Или свой движок, просто запихнуть на веб-сервер?
Лучше синица в руках, чем утка под кроватью

Сервер Commfort chat:
ksk23.ru
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение $teelR@t »

batmanblood писал(а):Установил плагин на сервере Commfort, создал чистую БД, тест в плагине на соединение - успешно, создал структуру БД через плагин, включил плагин.
В логах:

Код: Выделить всё

[10:04:04] Общие. Неизвестная ошибка: "Cannot change Visible in OnShow or OnHide" с пометкой "EInvalidOperation" в элементе TMainForm.
[10:00:45] Соединения. Серьезная ошибка во время управления соединениями. Can't delete expired connections.
[09:55:45] Соединения. Серьезная ошибка во время управления соединениями. Can't delete expired connections.
[09:53:48] Общие. Тест подключения прошёл успешно. Настройки сохранены..
[09:53:48] БД. Соединение с БД установлено.
[09:50:45] Соединения. Серьезная ошибка во время управления соединениями. Can't delete expired connections.
Эти ошибки не критические, исправим.
batmanblood писал(а): Разрешил из внешки соединения по портам 9850 и 9752 (не знаю какой именно требуется, не нашел инструкции по установке), захожу на http://webcf.ru/ ввожу адрес ksk23.ru , Подключиться:
Сервер не доступен (http://webcf.ru/chat/?address=ksk23.ru)

Что не так?
Надо открыть порты 9751(для остальных соединений) и 9752 (для веб соединений).
batmanblood писал(а):Еще вопрос: на каком движке веб-интерфейс? Или свой движок, просто запихнуть на веб-сервер?
Веб-интерфейс по адресу webcf.ru на движке WordPress. После релиза будет выложены файлы для реализации веб-интерфейса на любом движке + без движка.
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
Аватара пользователя
batmanblood
Сообщения: 84
Зарегистрирован: 13:07, 15.08.2008
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение batmanblood »

$teelR@t писал(а):Надо открыть порты 9751(для остальных соединений) и 9752 (для веб соединений).
Открыл 9752 и 9751 , ввиду нулевой активности порт 9751 - закрыл, что за остальные соединения?
$teelR@t писал(а): Веб-интерфейс по адресу webcf.ru на движке WordPress. После релиза будет выложены файлы для реализации веб-интерфейса на любом движке + без движка.
Через webcf.ru нормально подключился, но не видно сообщений в чате через веб, а через коммфорт видно, что отправляет пользователь с веба. А так прикольный сервис :-)
Лучше синица в руках, чем утка под кроватью

Сервер Commfort chat:
ksk23.ru
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение $teelR@t »

batmanblood писал(а):
$teelR@t писал(а):Надо открыть порты 9751(для остальных соединений) и 9752 (для веб соединений).
Открыл 9752 и 9751 , ввиду нулевой активности порт 9751 - закрыл, что за остальные соединения?
Остальные соединения - это соединения, клиенты которых работают по "протоколу" плагина, который отличается от http протокола, по которому работают веб клиенты. В общем по этому порту в будущем будут работать мобильные клиенты.
batmanblood писал(а):Через webcf.ru нормально подключился, но не видно сообщений в чате через веб, а через коммфорт видно, что отправляет пользователь с веба. А так прикольный сервис :-)
Странно, что не видно, проверим, напишу в личку, если не найду багу.
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
SWATik
Сообщения: 4
Зарегистрирован: 14:16, 12.12.2010

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение SWATik »

[12:05:43] Общие. Неизвестная ошибка: "Access violation at address 051FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0FE3808C" с пометкой "EAccessViolation" в элементе TPanel.
ZigZagkms
Сообщения: 109
Зарегистрирован: 08:23, 11.12.2008
Откуда: Комсомольск-на-Амуре
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение ZigZagkms »

SWATik писал(а):[12:05:43] Общие. Неизвестная ошибка: "Access violation at address 051FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0FE3808C" с пометкой "EAccessViolation" в элементе TPanel.
Автору плагина: Данная ошибка происходит когда работаем с компонентами на форме из потоков, отличных от того, в котором была создана форма. Компоненты VCL не потокобезопасны. Для работы с компонентами из других потоков необходимо использовать сообщения Windows.
Забросил, всем спасибо, исходники раздаю кому надо https://github.com/ZigZagkms
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение $teelR@t »

SWATik писал(а):[12:05:43] Общие. Неизвестная ошибка: "Access violation at address 051FCA2F in module 'cf_webchat_2_00_beta2.cfplug'. Read of address 0FE3808C" с пометкой "EAccessViolation" в элементе TPanel.
Я медленно достаю свой бубен и начинаю гадать как вы получили эту ошибку...
А если серьезно - пожалуйста, опишите последовательность действий, которые привели к этой ошибке.
ZigZagkms писал(а):Автору плагина: Данная ошибка происходит когда работаем с компонентами на форме из потоков, отличных от того, в котором была создана форма. Компоненты VCL не потокобезопасны. Для работы с компонентами из других потоков необходимо использовать сообщения Windows.
thanx, Cap! Данная ошибка возникает не только в этом случае, а в любом случае, если идет не правильный доступ к памяти объекта. И это может быть даже в пределах одного потока.
Я знаю, что VCL компоненты не потокобезопасны и к ним нельзя обращаться из других потоков напрямую...
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
Mike
Сообщения: 26
Зарегистрирован: 21:02, 18.12.2011

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение Mike »

При загрузки сервера появляется эта ошибка.
Вложения
snap_02.jpg
(21.09 КБ) 189 скачиваний
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

Re: WebChat - Веб-интерфейс (2.00 beta2 от 14.11.11)

Сообщение $teelR@t »

Mike писал(а):При загрузки сервера появляется эта ошибка.
Скачайте последнюю версию плагина и при выключенном комфорт-сервере установите ее. Такое случается, если вы не обновили библиотеку для работы с mysql, которая заменится автоматически инсталлятором, если чат будет выключен.
Не важно как долго ты будеш подниматься, упасть ты можеш в мгновенье ока.
Макс Пейн.
Ответить