Серверное приложение чата
Мне нужно для проекта построить живой чат с:
- групповой чат
- приватный чат (пользователь-пользователь);
- интерфейс веб-сайта;
- мобильный интерфейс;
- другая информация (профиль и т. д.).
Я хочу начать с сервера: любой фреймворк PHP или учебник для этого?
Иначе, какое-нибудь полное решение (но настраиваемое) с веб-сайтом + мобильный совместимо?
2 ответа
Использовать XMPP-сервер (XMPP-сервер использует Socket-программирование, поэтому, как только соединение будет установлено, оно будет использовать это соединение каждый раз, вам не нужно каждый раз создавать соединение, например HTTP).
Или используйте GCM (используя Push-уведомления вы также можете отправлять и получать сообщения).
Вот немного исходного кода - Github
Надеюсь, поможет.
http://vidorsolutions.blogspot.pt/2011/01/writing-xmppjabber-chat-application-for.html
Это было бы лучшее место для начала!
Удачи в создании приложения!
Также, если вы действительно хотите углубиться в это, исходный код Xabber окажет большую помощь.
XMPP - это протокол связи для промежуточного программного обеспечения, ориентированного на сообщения, на основе XML (расширяемый язык разметки). Проще говоря, это протокол, используемый для обмена мгновенными сообщениями. В то время как APNS и GCM являются службами, используемыми для настройки push-уведомлений для ваших приложений. Так что это немного по-другому.
Я считаю, что создание приложения для чата с нуля - задача не из легких. Поэтому я бы рекомендовал использовать готовый бэкэнд и сконцентрироваться на реализации вашего приложения на стороне клиента.
Для бэкэнда вам нужно выбрать провайдера с набором функций, наиболее подходящих для вашего проекта, а затем начать разработку приложения с API, предоставленным вашим бэкэндом. Вы можете найти эту статью полезной при выборе.
Кажется, вы хотите быстро приступить к реализации чата... реализация xmpp - это один из способов. Firebase предоставляет другое. Реализовав обмен сообщениями через xmpp, а также через firebase, я могу предложить следующий совет: стабильная логика подключения и автоматическое переподключение в реализации openfire+SMACK не особенно надежны. У меня периодически возникали проблемы с поддержанием связи перед лицом падений; Обновления в Openfire, которые могут соответствовать или не соответствовать старым версиям библиотеки SMACK, бесполезны (никто не гарантирует соответствие - вы сами по себе). Другие с большим опытом работы с xmpp могут засвидетельствовать эти трудности. Firebase не без собственных проблем, но я нашел их управляемым. Я также рекомендую вам оформить как минимум одну реализацию библиотеки чата с открытым исходным кодом через firebase (одна из таких ссылок - github). С Firebase проблема с подключением в значительной степени исчезает, и открывается множество новых возможностей. Я предпочитаю, чтобы поставщик библиотек полностью заботился о серверной части, поэтому нам нужно сосредоточиться только на пользовательском интерфейсе. Надеюсь, это полезно.