使用php和javascript创建实时聊天

问题描述 投票:3回答:4

我的目标是从头开始创建类似于Facebook聊天的实时聊天。我希望将所有消息存储在数据库表(MySQL)上,并且每次用户发送新消息时,如果接收器已连接,则请求将被发送到接收者的浏览器,消息将显示在聊天窗口中。

我不想让客户端检查是否发送了用户的新消息,但我希望服务器将请求发送到客户端的浏览器。

我知道这可以使用Comet技术实现(我看过this stackoverflow question)但是我无法找到关于如何针对这个问题实现这一点的好指南。

我想使用php和javascript以及尽可能少的额外软件或框架。

我使用WAMPServer,我有Windows。

如果你知道一本好的指南或教程,或者可以提供我如何达到我想要的任何指导,那将非常有帮助。

javascript php mysql chat comet
4个回答
2
投票

尝试使用这个CppComet开源彗星服务器。 php和其他语言都有api。并且viwe这chat examplethis


1
投票

是的,它可以做到!我已经开发了使用没有任何外部新框架/ API的实时消息传递系统,只使用已知和熟悉的技能来开发它:Ajax jquery,PHP,Mysql,Javascript。这是我的Github链接:https://github.com/07harish/Real-time-chat-system ..我刚刚上传了主文件。要了解它,请仔细阅读代码。使用的逻辑是:

  1. 所有消息都将存储在数据库中,
  2. 加载页面时,将从数据库加载所有消息。
  3. 重新加载后收到新邮件时,必须加载/显示新邮件而不重新加载整页?这是使用javaScript和ajax jquery完成的。我已经设置了每0.5秒的时间来重新加载新消息并显示它们。
  4. 在我的代码中,首先当页面加载所有消息时,每个消息将被加载到div标签中,稍后每当新消息进入db时它将显示为新的 div标签。它简单,无需任何外部API即可工作。

要刷新新消息并将它们放入div标签。来自ajax jquery的.load(),每刷新0.5秒,Javascript用于设置超时。


0
投票

我不知道你的确切问题是什么,但Websockets就是答案!

https://github.com/crossbario/autobahn-js

https://github.com/voryx/Thruway

(仅供参考,当你在websockets的上下文中看到WAMP时,他们正在谈论的东西不是windows / apache / mysql / php)


0
投票

您还可以将Node.JS与PHP一起使用。 Creating a Real-Time Chat App with PHP and Node.js

© www.soinside.com 2019 - 2024. All rights reserved.