Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Хочу написать.. Не знаю с чего начать..
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
Давно горел желанием написать чат.
Но незнаю с чего бы начать все это)))
Предложите структуру движка для этого?? а я попробую....
Carzil
Отправлено: 15 Декабря, 2009 - 12:29:37
Гость
Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009 Откуда: Россия, Москва
Помог: 0 раз(а)
Добавление сообщений.
форма ввода сообщения -> AJAX передаёт время передачи сообщения, само сообщение и автора сообщения обработчику сообщений -> обработчик записывает их в БД Показ сообщений.
AJAX каждые 30 секунд вызывает JSON-данные с сервера -> сервер выдаёт что-то вроде этого
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
Stierus
1) база данных пользователей (привелегии, личные данные, разл. служебная информациЯ типа ип и тому подобное);
2)система авторизации
3)система отправки сообщений и система анализа (типа антимата и обращения к конкретным участникам)
4)система вывода сообщений из базы или файла с предварительным форматированием текста согласно личным настройкам пользователя;
5)система администрирования всего этого
5)система дополнительных сервисов для пользователей
6)может еще чего-нибудь что я пропустил;
Мне нужна структуроа "как это все воедино связать"..
Carzil спасибо))) в таких общих чертах я могу даже и без базы данных решить все на одних файлах))
я же не прошу готовые коды..только концепции)) но все равно спасибо..
Carzil
Отправлено: 15 Декабря, 2009 - 12:56:16
Гость
Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009 Откуда: Россия, Москва
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
первый вопрос по поводу этой самой базы:
какое количество запросов к базе не считается вредным? (рассматривается естественно динамическая страница)
Мелкий
Отправлено: 15 Декабря, 2009 - 19:32:09
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Каждый запрос и функция по определению снижают скорость отдачи страниц. Так что стремиться надо всегда к 0.
"не считается вредным" - не совсем корректный вопрос, не вредным будет чем меньше, тем лучше для одного и того же эффекта.
----- PostgreSQL DBA
krutovaniya
Отправлено: 15 Декабря, 2009 - 20:07:48
Новичок
Покинул форум
Сообщений всего: 62
Дата рег-ции: Окт. 2009 Откуда: Россия
Помог: 0 раз(а)
Самый простой способ:
Создать файл chat.txt
PHP скриптом считать его, и вывести.
Использовать форму ввода сообщений.
Каждое новое сообщение дописывать в файл примерно так:
<b>$userName</b> <i>$date</i> $message <br>
Ну, и, создать некий chatAnswer.php который вызывать при добавлении ответа.
AJAX использовать желательно, но не обязательно.
Достаточно поставить JS таймер на обновление содержимого.
Hunter
Отправлено: 16 Декабря, 2009 - 09:52:41
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
krutovaniya спасибо за участие. помимо вывода сообщений планируется так же сбор статистики, например с каждым отправленным сообщением эта характеристика растет у пользователя его отправившего, а так же статистики времени проведенного пользователем в чате.
Мелкий
база данных какая то большая получилась у меня)))
мне удобнее использовать несколько таблиц, так как разная информация используется разными скриптами. всего около 50 полей для каждой записи. обращение к конкретной таблице происходит в определенном случае. зависит ли от количества таблиц что то еще кроме удобности использования(для меня лично) ?? (Добавление)
как вариант уменьшения количества запросов к базе данных:
можно ли "построить" профиль один раз при загрузке страницы и возложить его (профиля) хранение на плечи JS дабы не обращаться многократно за какими то характеристиками юзера. То биш - при построении главной страницы обращаемся к базе данных, читаем все необходимиые характеристики и записываем профиль в JS (может объект создать или еще как нибудь) и далее при отправке сообщения все "параметры" юзера необходимые для его обработки и форматирования JS добавит сам к сообщению а скрипт обработки их уже использует по назначению....
можно так или не стоит?????
Ch_chov
Отправлено: 16 Декабря, 2009 - 10:54:55
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
JS работает на стороне клиента. Следовательно пользователь сможет сам выставлять эти параметры, например, для того, чтобы отправлять сообщения от чужого имени...
Мелкий
Отправлено: 16 Декабря, 2009 - 11:17:25
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Hunter пишет:
зависит ли от количества таблиц что то еще кроме удобности использования(для меня лично) ??
Объём базы и количество запросов, собственно, никак не связаны.
Наибольшую задержку даёт подключение к СУБД, пересылка запросов-ответов, разбор запроса на стороне СУБД. Непосредственно выборка данных происходит очень быстро.
Скорость выполнения запроса зависит от количества задействованных в запросе таблиц, а в остальном - таблицы в базе данных никак физически не связаны (только логически, что и надо реализовывать в запросах) и друг на друга потому не влияют.
Вообще, по теории реляционных баз данных - все таблицы с повторяющимися данными (в пределах одного поля, в частности) надо делить на несколько таблиц, т.е. большое количество таблиц приветствуется. Но выборка и предшествующее ей связывание таблиц работает тем медленнее, чем больше участвует таблиц. Так что оптимум где-то посередине...
Hunter пишет:
можно ли "построить" профиль один раз при загрузке страницы и возложить его (профиля) хранение на плечи JS дабы не обращаться многократно за какими то характеристиками юзера
А что у юзера за характеристики в чате? К которым надо многократно обращаться?
Ch_chov пишет:
Следовательно пользователь сможет сам выставлять эти параметры, например, для того, чтобы отправлять сообщения от чужого имени...
Пользователь так или иначе сможет это сделать в любом случае, т.к. со 100% уверенностью сказать, что сейчас к серверу обратился тот же человек, что и 5 секунд назад - невозможно.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.