我的目标是从头开始创建类似于Facebook聊天的实时聊天。我想将所有消息存储在数据库表(MySQL)上,并且每次用户发送新消息时,如果接收器已连接,则请求将被发送到接收器'浏览器和消息将出现在聊天窗口中。
我不想让客户端检查是否发送了针对用户的新消息,但是我希望服务器将请求发送到客户端的浏览器
我知道这可以使用 Comet技术(我看到this stackoverflow question)来实现,但我无法找到关于如何针对这个问题实现此问题的良好指南。
我想使用php和javascript以及尽可能少的额外软件或框架。
我使用WAMPServer,我有Windows。
如果您知道一本好的指南或教程,或者可以提供有关如何实现我想要的任何指导,那将非常有帮助。
答案 0 :(得分:2)
尝试使用此CppComet开源彗星服务器。 php和其他语言都有api。 viwe chat example或this
答案 1 :(得分:2)
是的,可以做到!我已经开发了使用没有任何外部新框架/ API的实时消息传递系统,只使用已知和熟悉的技能来开发它:Ajax jquery,PHP,Mysql,Javascript。这是我的Github链接: https://github.com/07harish/Real-time-chat-system ..我刚刚上传了主文件。要了解它,请仔细阅读代码。 使用的逻辑是:
要刷新新消息并将它们放入div标签。来自ajax jquery的.load(), 刷新每0.5秒Javascript用于设置超时。
答案 2 :(得分:0)
我不知道您的确切问题是什么,但 Websockets 就是答案!
https://github.com/crossbario/autobahn-js
https://github.com/voryx/Thruway
(仅供参考,当您在websockets的上下文中看到WAMP时,他们正在讨论的事情不是windows / apache / mysql / php)
答案 3 :(得分:0)
您还可以将Node.JS与PHP结合使用。 Creating a Real-Time Chat App with PHP and Node.js
答案 4 :(得分:0)
不幸的是,您无法使用PHP本身创建实时应用程序,您可以在PHP中使用Laravel这样的框架,并使用laravel-websockets这样的包来创建实时应用程序。 laravel-websockets对于创建实时应用程序非常有用。 laravel和带有任何前端的laravel websokcets都可以做到
http://beyondco.de/docs/laravel-websockets
您可以轻松创建任何内容,只需尝试了解websokcets的基本概念即可。