|
|
1
3
是的,你的解决方案已经足够好了。您所做的是轮询服务器是否有特定用户的聊天信息。够好了。
先试试你的方法,然后再试试这个。 |
|
|
2
2
每个PHP“实例”只在请求期间持续,因此您需要一个持久性存储,例如用于聊天消息的数据库。 是的,我知道这确实有效,因为我在过去实现了一个非常类似的系统。 |
|
|
3
2
彗星接近Teehoo,如果你想要一个工作方法,你的建议会很好,特别是如果它只是一个学校的项目。 如果你想要像Facebook那样的方式,你应该看看commethttp连接。它非常聪明。我记得当我第一次读到它的时候,我觉得它很有创意。它提供了快速更新,并通过不断轮询新消息几乎消除了AJAX依赖性,因为您可以保持与web服务器的连接不断打开。 阅读一下comet http连接(但不要看comet聊天应用程序,它们是一家试图销售类似于facebook聊天应用程序的产品的公司,而不是您想要的。。尽管他们已经实现了comet方法)。 # http://en.wikipedia.org/wiki/Comet_(programming)
http://www.zeitoun.net/articles/comet_and_php/start 但不管怎样,你的建议对学校的项目来说很好。 |
|
|
4
0
|
|
|
5
0
您还可以使用类似comet的javascript方法。在PHP页面收到消息之前,您可以保持从浏览器打开到PHP页面的连接。 但是,您仍然局限于为每个连接提供PHP页面,因此需要一些存储空间。如果你想它真的很快,你可以使用内存。 在PHP中使用内存: http://www.php.net/manual/en/function.apc-add.php http://www.zeitoun.net/articles/comet_and_php/start#comet_with_classic_ajax_litte_chat_demo |
|
|
6
0
但是您必须以某种方式将数据存储在中央服务器上。对于聊天应用程序来说,rational数据库并不适合这种聊天类型的应用程序,但只有当您有一个大型站点时,它才是真正相关的。如果你这样做是为了一个项目,那么一个数据库将足够好,足以存储聊天信息。您只需要使用javascript/ajax轮询数据库中的新消息。 如果您对不使用数据库感兴趣,我建议您使用非sql方法。谷歌是你在这方面的朋友,因为有很多选择。 |