我想制作一个使用javascript.I的聊天系统我不想要任何现有的应用程序。我需要知道如何聊天实际工作?我是否可以在没有任何数据库的情况下做到这一点?它就像是每隔x秒检查一次数据库中的一个特定字段。或者可以使用http请求吗?如果是这样,我怎样才能请求php页面更新其他客户端浏览器中的div ?使用javascript进行聊天
码样本被理解..
我想制作一个使用javascript.I的聊天系统我不想要任何现有的应用程序。我需要知道如何聊天实际工作?我是否可以在没有任何数据库的情况下做到这一点?它就像是每隔x秒检查一次数据库中的一个特定字段。或者可以使用http请求吗?如果是这样,我怎样才能请求php页面更新其他客户端浏览器中的div ?使用javascript进行聊天
码样本被理解..
首先,是有可能实现这一目标没有数据库。事实上,平面文件可能会更好,这取决于您的具体要求。
至于你的第二个问题,不应该每隔x秒检查一次更新。通过每隔x秒检查一次,你就会浪费宝贵的服务器资源,特别是如果你的聊天系统是数据库驱动的。彗星(或长轮询)是一种特别适用于聊天的技术。它的工作原理是这样的:
客户端与服务器建立连接,该服务器保持打开状态,直到服务器表示存在更新。服务器然后将更新推送到客户端并断开连接。客户端然后重新连接到服务器并等待另一个更新。只要用户在页面上,此过程就会继续。
这种方法比每隔x秒调用一次服务器效率更高。这也意味着内容会立即被推送到客户端。
Node.js的是一种流行的客户端服务器/客户端库,许多利用用于聊天的目的。甚至有自己的源代码http://chat.nodejs.org/
对于类似的概念现场演示没有图书馆,我建议你进入JavaScript的HTML 5套接字http://dev.w3.org/html5/websockets/
我不喜欢使用任何库... – 2012-02-13 16:48:59
然后我建议您熟悉javascript的原生html5套接字功能:http://dev.w3.org/html5/websockets/ – Vigrond 2012-02-13 16:50:40
@JinuJD该库仅作为一个底层框架,您将在其上构建一个聊天服务器,就像您可能使用.NET框架编写一个winforms应用程序一样。使用库没有任何问题! – Polynomial 2012-02-13 16:54:14
听起来你可能想看看node.js:http://nodejs.org/ – 2012-02-13 16:47:18
你可以用Node.js和DNode很容易地做到这一点,如果你想使用JavaScript(也可以服务器端)。只需在客户端调用服务器功能就像调用任何JavaScript函数一样。 – pimvdb 2012-02-13 16:47:19