2010-02-01 101 views
0

我想创建一个使用PHP和JavaScript的聊天系统。我想知道Gmail中的聊天工作是如何工作的:即使用户移动到另一个页面,它仍然保持在同一位置。如果有人能解释它是如何工作的,我将不胜感激。如何在PHP/Javascript中创建聊天应用程序?

与此同时,请提供一些关于如何创建聊天s/m的想法。例如,弹出窗口的创建,要与聊天使用的协议等

回答

2

我知道你想创建一个“聊天系统”,

Gmail的聊天是不是一个孤立的系统,它是紧密结合/ Gtalk的与同步处理, (你打算提供一个桌面应用程序以及网络接口?)

其次的Gtalk/Gmail聊天使用自定义的协议(尽管open..meaning你可以写你的自己的Gtalk客户也是如此)。

为了您的“聊天系统”,如果你希望它是像你一样Gmail的你一定会需要使用

AJAX和JSON Java脚本和PHP

沿

AJAX会帮你同时创建Eye Catching响应式UI和JSON将帮助您沿着网络传输数据。

3

GMail,Facebook或Orkut中的聊天记录保持在同一位置,即使您更改页面时也是如此,因为当您单击GMail或Facebook或orkut中的任何链接时,它们并未进行真实的页面更改。它们通过哈希标记标识符加载页面,并使用标准的AJAX加载内容。例如,在GMail内部,您可以找到所有链接,如收件箱https://mail.google.com/mail/?zx=xxxxxxx&shva=1#inboxhttps://mail.google.com/mail/?zx=xxxxxxxx&shva=1#starred,因此当您点击它们时,浏览器实际上并未重新加载新页面,而是发出AJAX请求并拉入数据,因此这不会影响聊天块在页面上。

你可以在http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=9#start看看简单的基于PHP/MySQL的聊天应用程序。如果你想要一个可伸缩的聊天应用程序,你必须在Comet或“双向流同步HTTP”BOSH。在python中的Friendfeeds TornadoWeb可以提供帮助。 http://www.tornadoweb.org/

希望此信息有帮助。

+0

谢谢极客,我知道你说的东西,但我的问题是我有一个网站,我需要o添加此聊天。不幸的是,它没有与Ajax做,我怎么能保持这个聊天是静态的,那正在寻找什么:( – raki 2010-02-01 10:40:41

+0

@raki,我不认为你可以做到这一点。如果你重新加载页面,你失去了内容聊天框(除非你以某种方式坚持) 这里的两个答案都适用于AJAX,我也这么认为。 – Nir 2010-02-01 11:16:41

+0

是否有可能使用iframe,即两个内容都可以添加到两个iframe并重新配置站点:( – raki 2010-02-01 11:40:17