共享主机(PHP,MySQL,Yii)上的实时通知


Real time notifications on shared hosting (PHP, MySQL, Yii)

我目前正在开发一个需要推送通知样式系统的网站,如Facebook通知。我希望在发生诸如"X 将您添加为好友"之类的事件时通知用户......

我一直在研究我的选择,但是它们似乎非常有限,因为该网站将托管在共享托管平台上,因此我的访问权限有限等。

1)查看长轮询彗星样式 - 由于我无法在服务器上运行Python,因此我唯一的选择是服务器脚本的PHP,但是由于线程消耗,这可能不是一个非常可扩展的选项。

2)WebSockets - 这些看起来很棒,但由于浏览器支持有限,它似乎还不合理。

那么 - 有没有人在共享托管平台上完成此操作?我宁愿不必使用像Pusher这样的服务。

非常感谢!! :)

PS - 我正在使用 Yii 框架 - 任何考虑到这一点的解决方案都会更好

使用Ratchet,它是一个用于PHP的WebSocket。

Ratchet 是一个松散耦合的 PHP 库,为开发人员提供 用于在客户端之间创建实时双向应用程序的工具 和通过网络套接字的服务器。这不是你祖父的互联网。

这是一个 Helloworld 的例子。

将 html5 SSE(服务器发送的 dom 事件)用于 chrome、Firefox、opera 和 ie10

对于旧版本的 IE,请使用 iframe 加载作为回退。

所有这些技术都应该适用于任何类型的共享主机,因为它们不需要任何类型的服务器端设置。

https://stackoverflow.com/a/1086448/1063333 :

执行此类通知的常用方法是在 服务器(使用 ajax)以给定的间隔(可能每隔几秒钟), 检查是否发生了什么事