Цель: создать достойный онлайн чат
Онлайн-чат обманчиво затруднен из-за природы http и Интернета в целом, что приводит к таким препятствиям, как тайм-ауты сеансов, пользователи, открывающие несколько окон, и различные учетные записи, которые регистрируются в одном окне браузера. Существует также проблема, связанная с тем, что пользователи закрывают окно браузера и выходят из системы, а также такие вещи, которые затрудняют работу с недоставленными сообщениями.
Есть ли хорошие статьи, которые описывают, как другие элегантно решили эти проблемы?
Пожалуйста, не стесняйтесь писать свои собственные мысли о том, как мгновенные сообщения, такие как Facebook или Gmail, могут быть достигнуты с максимальной надежностью.
Есть ли достойная кодовая база / запись для интеграции с локально размещенным jabber-сервером для достижения этой цели?
Редактировать: сайт будет один на один в чате между любыми участниками сайта - как в bob может общаться с Кэрол, а bob может одновременно общаться с Джимом в отдельном всплывающем окне чата. Это делает его хорошим кандидатом на jabber/xmpp.
Я с радостью приму наиболее полезный ответ в течение следующих 4 дней.
1 ответ
Мне интересно, какую систему вы планируете использовать для этого. Это для небольшой системы чата между пользователями в крошечном проекте, или вы планируете БОЛЬШУЮ систему? Самая большая проблема с онлайн-системами обмена мгновенными сообщениями - это надежность, например, Facebook. Их система чата общеизвестно глючит, и поддерживается большим парком профессиональных разработчиков с тоннами ресурсов в их распоряжении.
Возможно, вы захотите начать с просмотра списка клиентов XMPP организации XMPP; есть раздел для веб-клиентов. Если есть какие-либо с открытым исходным кодом, вы, вероятно, могли бы работать с этим. Опять же, трудно сказать, не зная точно, для чего предназначена система. Одной из возможностей может быть использование Google Apps для вашего домена, если это внутренняя вещь. Если хуже становится хуже, и у вас много времени, возможно, вы могли бы написать свою собственную реализацию библиотеки LibPurple для использования в Интернете (Google; у меня пока недостаточно репутации, чтобы опубликовать вторую гиперссылку),
Надеюсь, что это дает некоторые идеи о том, с чего начать. Я никогда не делал этого раньше, просто давал полезные советы. Удачи!