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 :: Хочу написать.. Не знаю с чего начать..

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (5): [1] 2 3 4 5 »   

> Описание: Предложите структуру движка чата?
Hunter
Отправлено: 15 Декабря, 2009 - 12:18:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




Давно горел желанием написать чат.
Но незнаю с чего бы начать все это)))

Предложите структуру движка для этого?? а я попробую....
 
 Top
Carzil
Отправлено: 15 Декабря, 2009 - 12:29:37
Post Id



Гость


Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009  
Откуда: Россия, Москва


Помог: 0 раз(а)




Добавление сообщений.
форма ввода сообщения -> AJAX передаёт время передачи сообщения, само сообщение и автора сообщения обработчику сообщений -> обработчик записывает их в БД
Показ сообщений.
AJAX каждые 30 секунд вызывает JSON-данные с сервера -> сервер выдаёт что-то вроде этого
CODE (JSON):
скопировать код в буфер обмена
  1. {
  2. "autor": "Cazril",
  3. "time": "00.00",
  4. "date": "15.12.09",
  5. "message": "Привет всем!!!!"
  6. }
-> AJAX обрабатывает данные и выводит их примерно так:
Цитата:

Автор: Carzil
Время: 00.00
Дата: 15.12.09
Сообщение:
Привет всем!!!!


Понял?


-----
Не помогли на форуме? Не растраивайтесь!
 
 Top
Hunter
Отправлено: 15 Декабря, 2009 - 12:46:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




Stierus
1) база данных пользователей (привелегии, личные данные, разл. служебная информациЯ типа ип и тому подобное);
2)система авторизации
3)система отправки сообщений и система анализа (типа антимата и обращения к конкретным участникам)
4)система вывода сообщений из базы или файла с предварительным форматированием текста согласно личным настройкам пользователя;
5)система администрирования всего этого
5)система дополнительных сервисов для пользователей
6)может еще чего-нибудь что я пропустил;
Мне нужна структуроа "как это все воедино связать"..

Carzil спасибо))) в таких общих чертах я могу даже и без базы данных решить все на одних файлах))
я же не прошу готовые коды..только концепции)) но все равно спасибо..
 
 Top
Carzil
Отправлено: 15 Декабря, 2009 - 12:56:16
Post Id



Гость


Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009  
Откуда: Россия, Москва


Помог: 0 раз(а)




Если у тебя ICQ есть напиши мне сейчас.


-----
Не помогли на форуме? Не растраивайтесь!
 
 Top
Hunter
Отправлено: 15 Декабря, 2009 - 12:59:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




Carzil
есть но сейчас не могу написать...
могу номер дать а в сети буду только дня через 4
408669845
 
 Top
Carzil
Отправлено: 15 Декабря, 2009 - 13:02:40
Post Id



Гость


Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009  
Откуда: Россия, Москва


Помог: 0 раз(а)




Stierus пишет:
Самое сложное в работе программиста -какраз составить это задание и спланировать, как все организовать, учиться надо именно этому ... .

Я с тобой согласен. Я на планирование своей соц сети потратил уже три месяца и ещё до сих пор работаю.


-----
Не помогли на форуме? Не растраивайтесь!
 
 Top
Champion Супермодератор
Отправлено: 15 Декабря, 2009 - 13:12:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Stierus пишет:
Почему нельзя удалять свои сообщения?
Удалил
 
 Top
Hunter
Отправлено: 15 Декабря, 2009 - 13:58:48
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




ok.
уже умчал лепить новый хост и БД. с нее и начну. За советом еще приду.
советуйте кто чего сможет....

Carzil, через час буду в асе, номер есть, стучи)))
 
 Top
Carzil
Отправлено: 15 Декабря, 2009 - 14:01:02
Post Id



Гость


Покинул форум
Сообщений всего: 127
Дата рег-ции: Нояб. 2009  
Откуда: Россия, Москва


Помог: 0 раз(а)




Я через час не могу. Давай завтра.


-----
Не помогли на форуме? Не растраивайтесь!
 
 Top
Hunter
Отправлено: 15 Декабря, 2009 - 18:49:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




первый вопрос по поводу этой самой базы:
какое количество запросов к базе не считается вредным? (рассматривается естественно динамическая страница)
 
 Top
Мелкий Супермодератор
Отправлено: 15 Декабря, 2009 - 19:32:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




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


-----
PostgreSQL DBA
 
 Top
krutovaniya
Отправлено: 15 Декабря, 2009 - 20:07:48
Post Id



Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Окт. 2009  
Откуда: Россия


Помог: 0 раз(а)




Самый простой способ:

Создать файл chat.txt
PHP скриптом считать его, и вывести.
Использовать форму ввода сообщений.

Каждое новое сообщение дописывать в файл примерно так:

<b>$userName</b> <i>$date</i> $message <br>

Ну, и, создать некий chatAnswer.php который вызывать при добавлении ответа.

AJAX использовать желательно, но не обязательно.
Достаточно поставить JS таймер на обновление содержимого.
 
 Top
Hunter
Отправлено: 16 Декабря, 2009 - 09:52:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




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

Мелкий
база данных какая то большая получилась у меня)))
мне удобнее использовать несколько таблиц, так как разная информация используется разными скриптами. всего около 50 полей для каждой записи. обращение к конкретной таблице происходит в определенном случае. зависит ли от количества таблиц что то еще кроме удобности использования(для меня лично) ??
(Добавление)
как вариант уменьшения количества запросов к базе данных:
можно ли "построить" профиль один раз при загрузке страницы и возложить его (профиля) хранение на плечи JS дабы не обращаться многократно за какими то характеристиками юзера. То биш - при построении главной страницы обращаемся к базе данных, читаем все необходимиые характеристики и записываем профиль в JS (может объект создать или еще как нибудь) и далее при отправке сообщения все "параметры" юзера необходимые для его обработки и форматирования JS добавит сам к сообщению а скрипт обработки их уже использует по назначению....
можно так или не стоит?????
 
 Top
Ch_chov
Отправлено: 16 Декабря, 2009 - 10:54:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




JS работает на стороне клиента. Следовательно пользователь сможет сам выставлять эти параметры, например, для того, чтобы отправлять сообщения от чужого имени...
 
 Top
Мелкий Супермодератор
Отправлено: 16 Декабря, 2009 - 11:17:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Hunter пишет:
зависит ли от количества таблиц что то еще кроме удобности использования(для меня лично) ??

Объём базы и количество запросов, собственно, никак не связаны.
Наибольшую задержку даёт подключение к СУБД, пересылка запросов-ответов, разбор запроса на стороне СУБД. Непосредственно выборка данных происходит очень быстро.

Скорость выполнения запроса зависит от количества задействованных в запросе таблиц, а в остальном - таблицы в базе данных никак физически не связаны (только логически, что и надо реализовывать в запросах) и друг на друга потому не влияют.
Вообще, по теории реляционных баз данных - все таблицы с повторяющимися данными (в пределах одного поля, в частности) надо делить на несколько таблиц, т.е. большое количество таблиц приветствуется. Но выборка и предшествующее ей связывание таблиц работает тем медленнее, чем больше участвует таблиц. Так что оптимум где-то посередине...

Hunter пишет:
можно ли "построить" профиль один раз при загрузке страницы и возложить его (профиля) хранение на плечи JS дабы не обращаться многократно за какими то характеристиками юзера

А что у юзера за характеристики в чате? К которым надо многократно обращаться?

Ch_chov пишет:
Следовательно пользователь сможет сам выставлять эти параметры, например, для того, чтобы отправлять сообщения от чужого имени...

Пользователь так или иначе сможет это сделать в любом случае, т.к. со 100% уверенностью сказать, что сейчас к серверу обратился тот же человек, что и 5 секунд назад - невозможно.

(Отредактировано автором: 16 Декабря, 2009 - 11:20:06)



-----
PostgreSQL DBA
 
 Top
Страниц (5): [1] 2 3 4 5 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB