如何开始开发chat api,就像stackoverflow使用的一样?如果它是开源的,我在哪里可以找到它,如果没有,任何人都可以指导我如何构建类似的聊天API?
答案 0 :(得分:10)
现在是彗星的时间 彗星是反向ajax。如果你在聊天应用程序中使用ajax,你需要每次都检查数据库更新,但在彗星的情况下,它是关于服务器端事件的。
我们可以在@server端设置某些事件,然后在数据库更新时自动更新网页。这就是我们不需要一直提供请求。
因此,我们可以避免因大量请求而导致服务器问题,并且应用程序将会非常快。
这是使用彗星的实时聊天示例 检查出来:http://www.zeitoun.net/articles/comet_and_php/start
超越ajax
答案 1 :(得分:2)
如果您不想打扰COMET的复杂性,可以使用jQuery的AJAX功能构建一个非常简单的PHP聊天室。无论服务器端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无法处理所有流量。确保包含某种洪水检测。
答案 2 :(得分:1)
答案 3 :(得分:1)
这个聊天插件看起来像facebook一个:http://anantgarg.com/2009/05/13/gmail-facebook-style-jquery-chat/这是一个教程http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=335
我希望它有所帮助。
答案 4 :(得分:1)
我强烈建议您查看APE project。它代表Ajax Push Engine,它使用Comet Server技术/技术。该项目旨在一次处理数万个(如果不是数十万)用户,它提供服务器端和JS接口客户端。它与所有主要的JS库兼容。
经过深思熟虑,干净利落,最重要的是免费!
此外,我确信存在使用它的CMS插件。 DrupalChat module一直在谈论使用它。