Разработка API-интерфейса чата, например, для Stackoverflow
Как начать разработку чата api, как используется один stackoverflow? Если это открытый исходный код, где я могу его найти, если нет, то кто-нибудь может мне посоветовать, как создать аналогичный чат api?
Ответы
Ответ 1
Теперь это время кометы.
комета является обратным ajax. Если вы используете ajax в приложениях чата, вам нужно каждый раз проверять обновления базы данных, но в случае кометы все о событиях на стороне сервера.
Мы можем установить определенные события @server side, тогда он автоматически обновит веб-страницу, когда база данных будет обновляться. Это значит, что нам не нужно постоянно отправлять запросы.
Таким образом, мы можем избежать головной боли сервера из-за большого количества запросов, и приложение будет намного быстрее.
Это пример живого чата с использованием кометы.
проверьте его: http://www.zeitoun.net/articles/comet_and_php/start
за пределами ajax
Ответ 2
Вы можете создать очень простую комнату с PHP с функциями jQuery AJAX, если вы не хотите беспокоиться о сложности COMET. Независимо от того, как выглядит API-интерфейс на стороне сервера, вы можете взаимодействовать с ним с помощью jQuery от клиента.
Клиенты могут опросить сервер, используя код jQuery следующим образом:
$(document).everyTime(pillowchat.settings.message_poll_frequency, function() {
if(pillowchat.state.poll == true){
getMessages();
}
});
jQuery POST-запросы могут быть отправлены следующим образом:
$.post("chat.php", {
"attribute":"important string"
},
function(data){
response = JSON.parse(data);
processNewMessages(response);
});
Они могут быть запросами на новые сообщения, активными пользователями или содержать новые сообщения от клиента.
API на сервере может быть реализован миллионными способами. Я написал простой чат с использованием PHP и CouchDB, которые работали очень хорошо. Более подробную информацию и исходный код можно найти здесь: http://trillworks.com/nick/2011/08/13/pillowchat-how-not-to-build-a-chat-room-with-jquery-phpillow-and-couchdb/
Я бы не рекомендовал этот подход, если вы ожидаете более 30 человек в комнате. Когда стресс тестировал этот дизайн, я обнаружил, что apache не может обрабатывать весь трафик. Убедитесь, что вы включили какое-то обнаружение наводнений.
Ответ 3
У меня не так много общего с SO chat, но это может быть начало, это Open Source и действительно хорошее, на мой взгляд.
AJAX Chat
Надеюсь, это поможет, удачи!
Ответ 4
Этот плагин для чата выглядит как facebook one: http://anantgarg.com/2009/05/13/gmail-facebook-style-jquery-chat/, и это учебник http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=335
Надеюсь, это поможет.
Ответ 5
Я очень рекомендую проверить проект APE. Это означает Ajax Push Engine, и он использует технологии/технологию Comet Server. Этот проект предназначен для обработки десятков тысяч, если не сотни тысяч пользователей одновременно, и предоставляет серверный конец и клиент интерфейса JS. Он совместим со всеми основными JS-библиотеками.
Его хорошо продуманный, чистый и, самое главное, БЕСПЛАТНО!
Также я уверен, что существуют CMS-плагины, которые его используют. модуль DrupalChat говорит об использовании его.