我在服务器端使用 PHP,客户端使用 HTML 和 JavaScript。
我正在制作一个应用程序,利益相关者输入消息,该消息实时广播给组中的多个接收者。
我在谷歌上做了一些研究,了解到需要使用 WebSocket 或 Comet 进行实时推送通知。对于向用户发送大量通知,WebSocket 或 Comet 是否是必需的?
我的理解正确吗?有任何参考资料可以开始使用吗?
我在服务器端使用 PHP,客户端使用 HTML 和 JavaScript。
我正在制作一个应用程序,利益相关者输入消息,该消息实时广播给组中的多个接收者。
我在谷歌上做了一些研究,了解到需要使用 WebSocket 或 Comet 进行实时推送通知。对于向用户发送大量通知,WebSocket 或 Comet 是否是必需的?
我的理解正确吗?有任何参考资料可以开始使用吗?
因此,如果您正在尝试向浏览器进行“实时服务器推送”,那么您必须从客户端拥有一个连续连接的套接字,这意味着WebSocket(或构建在WebSocket上的某些内容,如Socket.IO)。
对于具有访问手机SDK的手机应用程序,您可以使用内置于操作系统中的“推送”系统将一些消息从服务器推送到客户端。虽然这与双向WebSocket通道不完全相同,但由于您询问了“推送通知”,因此Android和IOS中提供的操作系统推送服务也可以成为从服务器向客户端推送通知的选项。这里有iOS通知和Google Cloud Messaging的信息。
截至2016年,除了微软浏览器(Edge或IE尚未支持),现代浏览器都可以使用服务器推送事件将数据从服务器推送到客户端。这是一个浏览器兼容性表。服务器推送事件使用长时间的HTTP连接、特殊的MIME类型和支持客户端,以便能够随时从服务器向客户端发送事件。与WebSockets不同,服务器推送事件仅是单向的(从服务器到客户端)。然后,客户端将使用传统的Ajax调用,以便能够将数据发送到服务器(而使用WebSocket,则可以通过同一WebSocket连接双向发送数据)。这里有一个关于服务器推送事件如何工作的好描述:服务器推送事件实际上是如何工作的?