Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2013, 12:36   #1
wolfandman
Новичок
Джуниор
 
Регистрация: 16.03.2013
Сообщений: 3
По умолчанию Прошу совета в разработке структуры

Здравствуйте! Собираюсь сделать онлайн-консультацию на сайте.
Это подразумевает всплывающее окно, в котором сразу можно вести диалог. В момент открытия окна пользователю в сессии присваивается уникальный идентификатор диалога с менеджером. Таким образом, даже если он закроет окно, и откроет его через какое-то время, то он всегда сможет видеть этот же диалог.

Debian, Apache, Php, Mysql. Сервер выделенный, я его полноправный администратор.

На другой стороне - менеджер. У него запущена программа, которая с интервалом в 5 секунд обращается к серверу для проверки новых сообщений.

Какие технологии следует использовать во всех случаях? Язык(и) - не проблема подучить, мне это даже интересно. Главное чтобы решение было быстрым, расширяемым, современным, безопасным и желательно нативным.

Более-менее понятно, что программа менеджера будет на Java, т.к. менеджеров много, используют разные ОС.

Непонятна модель взаимодействия всех компонентов чата, порядок и всё такое.

Благодарю за внимание!
wolfandman вне форума Ответить с цитированием
Старый 16.03.2013, 12:51   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Готовые решения рассматривались?
Например SiteHeart – бесплатный и достаточно функциональный.
Andkorol вне форума Ответить с цитированием
Старый 16.03.2013, 13:31   #3
wolfandman
Новичок
Джуниор
 
Регистрация: 16.03.2013
Сообщений: 3
По умолчанию

Спасибо за ответ! Однако, я бы хотел самостоятельно реализовать чат, т.к в будущем может понадобиться расширение функционала. А еще мне это интересно, я люблю писать программы, а знакомство с новыми для меня технологиями научит будет мне поелезно.
wolfandman вне форума Ответить с цитированием
Старый 16.03.2013, 19:15   #4
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Если вы будете реализовывать сами данную задумку, то решение НЕ будет:
- быстрым
- расширяемым
- современным
- безопасным
- нативным

Во всём остальном вполне можно реализовать это самому.
Вариантов и технологие реализации серверной части МОРЕ. То есть мы говорим о десятке различных языков программирования (от PHP до C) на которых это можно реализовать. Столько же видов баз данных (если нужно).
Вариантов реализации чата тоже множество. От Javascript с AJAX до расширений к каждому браузеру. Выбирайте любой.
Ну и с реализацией клиентской части со стороны оператора, я так понимаю, вы уже определились. Фактически, в выборе серверной и клиентской (чат) технологий можете отталкиваться от осознания, что клиент оператора будет написан на JAVA. То есть вы даже можете сервер для этого написать на JAVA, а клиент чата сделать JAVA-applet'ом.

Модель взаимодействия здесь простая. Веб-сервер (пускай php) генерирует страницу, а при генерировании чата обращается к серверу вашего приложения. Сервер ему даёт некий уникальный ID. PHP генерирует HTML код для вставки апплета на страницу, а также записывает в сессию пользователя ID, который ему выдал сервер приложения.
Дальше если пользователь что-то пишет в чате, то апплет чата отсылает запрос напрямую серверу приложения (не к PHP), а сервер приложения может отослать прямой запрос подключённому к нему клиенту оператора. То есть не нужно каждые 5 секунд делать запрос от оператора к серверу. Если оператор онлайн, то у него постоянно открыто подключение к серверу приложения. Оператор отвечает и общается с клиентом через ваш сервер. Если пользователь выходит из чата, то ID чата продолжает храниться в сессии, пока сессия не истечёт. История чата хранится в некой БД вашего приложения. Дальше, если пользователь снова заходит в чат, пока его сессия не истекла, то апплет при подключении пользователя запрашивает с сервера историю чата, которую и выводит пользователю. Также эту историю видит оператор. Ну и так далее.
Всё просто и никаких сложностей.
Если всё сделать правильно (если у вас есть опыт сетевого программирования на JAVA), то может даже получиться так, что решение будет быстрым, расширяемым и безопасным.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 18.03.2013, 08:45   #5
wolfandman
Новичок
Джуниор
 
Регистрация: 16.03.2013
Сообщений: 3
По умолчанию

Johnatan, огромное спасибо! Это то, что я хотел услышать.
wolfandman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРОШУ СОВЕТА ! КАПИТОЛИНА Свободное общение 3 21.01.2012 20:46
Прошу совета в проблеме Gans_sv Компьютерное железо 5 08.11.2009 20:27
Прошу совета ! Kamelli_13 Общие вопросы Delphi 1 18.05.2009 22:10
Гарантия.Прошу совета. Elm0 Свободное общение 7 09.10.2007 17:48