Мой клиент на основе Flash Chat не достаточно крепким? Какой другой путь есть?

StackOverflow https://stackoverflow.com/questions/2373026

  •  24-09-2019
  •  | 
  •  

Вопрос

Я разработал клиент чата на основе Flash, который отображает сообщения, размещенные пользователями, принадлежащими к группе вместе с их именем пользователя и время письма. Данные хранятся в базе данных MySQL с идентификатором группы, идентификатором пользователя и сообщением, так что оно сохраняется за пределы сеансов чата и позволяет пользователям входить в более поздние времене, чтобы увидеть обсуждения, меньше всего в чате, большее количество доске объявлений. Когда пользователь записывает сообщение, я хочу, чтобы клиенты чата могли мгновенно обновлять, кажется, что в режиме реального времени чата. Мое решение до сих пор было включение интервала в моем флэш-коде, который вызывает PHP-страницу, которая запрашивает базу данных для новых комментариев и вернуть его на Flash.

Я думаю, что от того, что я прочитал, что этот подход называется длинным опросом? это правильно? Это достаточно прочная для громкости? Буду лучше смотреть на толкание данных клиенту, когда есть изменения? Как я могу обнаружить эти изменения? Я наблюдаю на обезьянах, но я не думаю, что это сохраняет сообщения в базе данных.

Какие-либо предложения?

Это было полезно?

Решение

Плохая вещь о опросе, это может стать дорогим довольно быстро.

Предположим, у вас есть 10000 пользователей в Интернете, которые хотят, чтобы чат не задержен, не более 1 секунды. Затем youn будет бомбардировать ваш сервер с 10000 запросами в секунду.

Для меньших вещей или вещей, которые не должны быть в курсе, опрос - хороший подход, так как просто и не может пойти не так.

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

Кроме того, вы можете использовать APE или SmartFox или Red5 или множество разных вещей, чтобы создать настойчивый сервер реле, то есть сервер, который имеет постоянные соединения ко всем клиентам и уведомляет их о любых изменениях (например, новые сообщения).

Как всегда, мой персональный совет должен использовать Хэкс. Отказ Вы можете использовать Учебник чата для начала. Haxe имеет довольно крутущую кривую обучения, но я думаю, что она полностью стоит. Я счастлив оставить как ActionScript, так и PHP позади.

редактировать: что вы описываете, не Длинный опрос. Отказ Кроме того, вы вряд ли можете делать длинные опрос с PHP, по крайней мере, если классика используется с Apache. Apache создаст определенное количество процессов PHP. В любое время приходит запрос, он будет ищет бесплатный процесс PHP и позволит его обрабатывать запрос. Когда процесс PHP выполнен, он отправляет ответ обратно на клиента. Если нет доступных бесплатных процессов, он будет буфер просьба до тех пор, пока не станет доступный процесс. Таким образом, вы можете полностью заблокировать весь ваш сервер, если вы попытаетесь выполнять длительные опросы PHP классическим способом.

Другие советы

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

Это должно быть более эффективным, чем просто опрос, потому что, если вы думаете о сценарии с низким уровнем движения, с опросом вы выбиваете ад из сервера независимо от - таким образом, вы только генерируете трафик, когда есть причина. Находятся

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top