我希望实现类似于facebook/gmail聊天的东西。我知道他们使用彗星和喷射器作为他们的技术。但我对几件事感到困惑。
,
发布于 2009-05-09 19:56:31
很好的问题,希望这不会在周末的比赛中消失。如果您想使用flash,kirupa有一个关于如何使用PHP和套接字的好教程。就彗星而言,我认为您必须有某种服务器实现。这就是我微弱的知识现在结束的地方。
简单轮询示例(jquery + asp.net) http://trappedinhoth.blogspot.com/2009/04/ajax-jquery-chat-demo.html
Kirupa教程(php5套接字+闪存8) http://www.kirupa.com/developer/flash8/php5sockets_flash8.htm
开源闪存聊天客户端(google,更多) https://blueimp.net/ajax/
彗星信息http://cometdaily.com/
我不是真的回答你的问题,只是指给你更多的资源。我很好奇别人会怎么回答。
发布于 2009-06-03 18:48:57
,我真的需要唠叨吗?我是否可以使用一个简单的mysql表,包括from、to、message、?使用mysql是否有效率低下?有什么性能损失吗?
是的,您确实需要使用jabber而不是mysql。您可以阅读Stonebraker等人的架构时代的结束(是彻底重写的时候了),以了解为什么使用RDBMS是不合适的。
可以用普通的网络服务器实现吗?我需要一些特殊的服务器吗?我是否应该使用简单的投票,这会否对我的制度产生不良影响?在普通的网络主机上,我能用什么开箱即用?gmail和facebook在永久连接中使用了什么?
彗星这个词有点模糊,但不用担心。你不需要特殊的服务器,你不应该使用轮询。你可以使用BOSH --这也是Facebook (我怀疑是Gmail)所使用的。
在客户端使用JSJaC (或者我的叉子),在服务器端使用ejabberd。两者都支持BOSH (和BOSH之上的XMPP ),这意味着您可以直接连接到XMPP服务器,避免轮询和处理高流量负载。
所有这些的链接在http://delicious.com/petef/stackoverflow-843889上都有书签。
发布于 2009-05-09 19:53:19
我认为Jabber可以被安全地概念化为一个(mom)中间件,其中MySQL当然是(持久存储)后端。那就是苹果和橘子。
考虑到RDMBS的ACID保证以及RDMBS的扩展特性,任何一个超大规模的web2.0应用程序都不能依赖RDBMS进行实时消息传递。(考虑一下动态地对SQL表进行分区,以添加更多的服务器来了解所涉及的问题之一。)
最重要的考虑因素是系统中消息的持久性。它们是将永久保存还是只在给定的时间窗口中保存。考虑到这是一个聊天应用程序,很可能是后者。为什么不使用基于内存的存储而不是RDBMS呢?
你为什么要用贾博?嗯,这是一种标准,所以将来你会打开互操作的可能性,即使这在现在不是一个问题。
更重要的是,它是一个长期处于严重开发阶段的系统(在网络狗年中),因此,假设它是(从现在起)并且将继续比您设计、实现、调试和使内部生产就绪的任何东西都更加成熟是公平的。
完全不了解彗星,所以无可奉告!
https://stackoverflow.com/questions/843889
复制相似问题