实时和PHP?

问题描述 投票:7回答:8

我是实时应用程序的初学者(例如:聊天,MMORPG),但我在php和ajax方面表现不错。我已经使用php和ajax(Interval 1000ms)编程了聊天。之后,我的网站变得非常沉重,原因是服务器上的压力很大!!

我想了解减少服务器压力的信息。

提前致谢

php chat real-time
8个回答
2
投票

PubNub就是最好的!

PHP客户端库可在https://github.com/pubnub/php(包括作曲家)获得

还有50多个(包括javascript)可以在这里找到:http://www.pubnub.com/developers/

看看你是否有资格获得免费计划:http://www.pubnub.com/free-evangelism-program/


1
投票

寻找long-polling ajax

它每分钟只请求一次(请求不是60 /分钟但是1 /分钟)


1
投票

您可以尝试将聊天转换为基于套接字的Web应用程序。我不知道使用AJAX或使用套接字之间的性能差异,但我使用套接字对我来说听起来更合乎逻辑。 :)


1
投票

您可能希望缓存结果。设置memcached(key => value)缓存可以减少数据库负载。

当有新请求进入时,如果要查找的值在缓存中,则应用程序会询问内存缓存。否则请向数据库引擎询问值,将值返回给用户并将其缓存以供下次使用。


1
投票

有趣的PHP库为开发人员提供了通过WebSockets在客户端和服务器之间创建实时双向应用程序的工具:http://socketo.me/


1
投票

据我所知,有几个库可用于构建非阻塞和实时应用程序,如聊天和实时游戏。

  1. reactphp,用纯PHP实现,比如nodejs,但最近开发似乎不太活跃。
  2. Skyray,一个用于PHP的网络库,用C http://github.com/SkyrayLabs/Skyray编写 这是我创建的PHP网络库,它仍在积极开发中。
  3. swoole,https://github.com/swoole/swoole-src
  4. phpdaemon,https://github.com/kakserpom/phpdaemon

0
投票

您还可以查看ajax推送引擎来进行实时数据流传输(他们声称它可以很好地扩展)。 http://www.ape-project.org/


0
投票

即使问题很老,我也愿意与大家分享一下。

现在所有主流浏览器都支持WebSockets。因此,创建实时系统的最简单方法是使用WebSockets。但是,PHP默认情况下不支持WebSockets。

但是,有Node.JS可以使任务更容易。我是否需要在Node.JS中重新编程我的网站?没有!我找到了一个更智能的解决方案,它可以帮助您将Node.js与PHP一起用于实时通信。

它是如何工作的?

  1. 用户连接到Node.js中编写的WebSocket服务器
  2. 当我们在PHP中有通知或更新时,我们通过HTTP POST请求通知Node.js服务器
  3. Node.js HTTP服务器处理请求并通过WebSockets将响应发送给连接的用户。

有关示例,请参阅Creating a Real-Time Chat App with PHP and Node.js

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