Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有现有用户会话的PHP聊天盒_Php - Fatal编程技术网

带有现有用户会话的PHP聊天盒

带有现有用户会话的PHP聊天盒,php,Php,所以我到处找,找不到真正有用的东西。。。 我在一个主要基于PHP的网站上工作,我想在那里设置一个聊天室功能。我们的会员已经在另一个页面上登录了,如果聊天室能够退出该会话,而不是要求再次登录或其他任何事情,那就太好了 此外,我还想根据成员规范实现不同的聊天室(预定义的组可以通过数据库条目定义彼此聊天) 如果它也可以是php,那将是惊人的!我试过一个聊天室,但似乎不起作用 我仍在学习,我希望它是相当可定制的图像和背景等。。。任何帮助和指导,我都会永远真诚地爱你 例如,您可以使用AJAX请求加载新消息

所以我到处找,找不到真正有用的东西。。。 我在一个主要基于PHP的网站上工作,我想在那里设置一个聊天室功能。我们的会员已经在另一个页面上登录了,如果聊天室能够退出该会话,而不是要求再次登录或其他任何事情,那就太好了

此外,我还想根据成员规范实现不同的聊天室(预定义的组可以通过数据库条目定义彼此聊天)

如果它也可以是php,那将是惊人的!我试过一个聊天室,但似乎不起作用


我仍在学习,我希望它是相当可定制的图像和背景等。。。任何帮助和指导,我都会永远真诚地爱你

例如,您可以使用AJAX请求加载新消息,该请求将聊天室和最后看到的消息指定为POST或GET参数。在脚本中,可以轻松访问现有会话。答案可以格式化为JSON。JSON在JavaScript端非常容易解析

现在只需添加一个定期检查新消息的间隔(
setInterval()
),您就可以完成一个非常简单的聊天框


要保存,可以使用文本文件或数据库。第二个可能会更简单,但您需要进行更多的优化,以避免杀死您的服务器。

对于此聊天盒,与任何组件一样,使用定制的开箱即用软件还是自己动手,这主要取决于您的决定,这需要更多的工作。由于在现有聊天盒上强制定制时,您的登录和聊天组要求看起来需要做大量的工作(导致混乱),因此我建议您自己动手

一些提示:

  • 对客户端使用长轮询,这往往是健壮的,并且通常是并发连接计数和CPU使用之间可接受的平衡
  • 在每次回复时发送服务器时间戳
  • 使用一个简单的DB表进行聊天,时间戳作为主键。查询缓存将完成90%的工作

你可以在你的网页中使用我自己写了一篇聊天,但这可能对你没用。我不知道任何独立的shout-/Chatboxs。这取决于您的服务器、客户端数量,最重要的是,取决于您的实现。Sane实现在连接计数超过阈值时结束运行时间最长的轮询,并且在客户端的repoll上有大约200-500毫秒的延迟。这相当有效地平坦了连接计数峰值