聊天应用程序与php,Jquery


Chat App with php, Jquery

我想用php&jquery做一个聊天应用程序。但是jquery脚本对客户端可见,另一个问题是每次都需要通过调用间隔方法来更新聊天显示面板。所以我的问题是,有没有其他方法可以开发像Gmail聊天应用程序这样的聊天应用程序。Becouze gmail聊天是显示存在。当用户进入脱机状态时,会自动显示脱机状态。当用户在聊天框中输入文本时,会立即显示在聊天显示中。所以我想喜欢那个应用程序。

请指导我....

谢谢你,

您可以使用 WebSockets 执行此操作。有一些很酷的WebSockets工具,例如:

  • 棘轮 - http://socketo.me/
  • 扳手 - https://github.com/varspool/Wrench
  • phpwebsocket - https://code.google.com/p/phpwebsocket/
  • Apache Websocket - https://github.com/disconnect/apache-websocket

使用 WebSockets,您可以将收到的消息附加到聊天日志中,而不是像您看起来正在做的那样更新整个事情。

如果您选择(或必须)继续向服务器请求新消息,因为并非所有托管服务提供商都允许 WebSockets,以下是一些您可能会发现对改进聊天应用程序有用的提示:

  1. 将上次收到的消息 ID 存储在客户端,以便当您向服务器请求新消息时,您可以向其发送此 ID,它只会向您发送您尚未收到的消息,从而避免不必要的流量。

  2. 在服务器端,记录客户端上次请求新消息的时间,以便您可以定义超时以检测用户断开连接。

  3. 为避免服务器或客户端因超出其处理能力的请求而过载,请在定义下一个请求的间隔时考虑服务器响应上一个请求所花费的时间,如下所示:

    1. 客户端请求消息
    2. 服务器在 100 毫秒内回复
    3. 客户端等待 100 毫秒后再次请求
    4. 服务器在 200 毫秒内回复
    5. 客户端等待 200 毫秒后再次请求

为了在不轮询的情况下实时更新状态和消息,您需要使用 websocket 连接。

这是一个jsfiddle,用于使用Applozic jquery聊天插件构建聊天,该插件使用websocket。

https://jsfiddle.net/devashishmamgain/L68teL67/

   (function(d, m){var s, h;       
   s = document.createElement("script");
   s.type = "text/javascript";
   s.async=true;
   s.src="https://apps.applozic.com/sidebox.app";
   h=document.getElementsByTagName('head')[0];
   h.appendChild(s);
   window.applozic=m;
   m.init=function(t){m._globals=t;}})(document, window.applozic || {});

  window.applozic.init({userId: 'devashish', appId: 'f769902edce1e93b6d03a1d5f', desktopNotification: true,  notificationIconLink: "https://www.applozic.com/resources/images/applozic_logo.gif"});

查看下面的问题..

基于 Javascript 的 XMPP 聊天客户端使用 strophe js - 示例和教程?

您可以在下面的工作 github 代码中找到与使用 stropher js for XMPP 协议的聊天相关的要求。

https://github.com/metajack/profxmpp

查看章节:06演示(GAB Tut)。

它将满足您与以下相关的所有要求

  • 一对一聊天。

  • 名册列表(好友列表),

  • 发送好友请求,

  • 在即将到来的请求批准中。

  • 开始一对一聊天等...

    还包括所有重要的演示

让我知道您在此演示中有任何疑问。 :) :)

是的,如果您使用 PHP 从服务器端获取数据,那么您需要定期轮询并检查新消息。这会在服务器端造成不必要的负载,并且证明难以扩展,因为即使没有新消息,我们也会继续轮询。

这个问题可以通过使用 websocket 等推送技术而不是轮询来解决。我们的产品ChatCamp使用推送技术实时传递消息,并且高效且可扩展。您可以使用我们的 ChatCamp JavaScript SDK 快速创建 jQuery 聊天应用程序 - https://chatcamp.io/blog/jquery-chat/。