如何解决Pusher vs Websocket vs Echo
我目前正在尝试开发一个使用套接字连接到 Laravel 服务器的 Flutter 应用程序。
我正在学习一个教程,在教程中他使用了 https://github.com/beyondcode/laravel-websockets 并连接到 Pusher,然后我从我的移动应用程序中使用了 Echo 和 Pusher Client。
说实话,我迷失在这个过程中,无法真正说出每个的目的是什么。
如果有人能帮助解释 Pusher、Websockets 和 Echo 之间的区别,我将不胜感激。
谢谢!
解决方法
Websockets 是一种通信协议,它为服务器提供一种向客户端传送内容的方式,而无需客户端首先发出请求。 Wikipedia 将它们描述为:
WebSocket 协议支持 Web 浏览器(或其他客户端应用程序)和 Web 服务器之间的交互,其开销低于 HTTP 轮询等半双工替代方案,从而促进与服务器之间的实时数据传输。这是通过为服务器提供一种标准化的方式来向客户端发送内容而无需客户端首先请求,并允许消息在保持连接打开的同时来回传递而实现的。通过这种方式,可以在客户端和服务器之间进行双向正在进行的对话。通信通常通过 TCP 端口号 443(或在不安全连接的情况下为 80)完成,这对于使用防火墙阻止非网络 Internet 连接的环境是有益的。类似的浏览器-服务器双向双向通信已经使用 Comet 等临时技术以非标准化方式实现。
Pusher Channels 是一种托管 websocket 解决方案,它为开发人员提供了一个简单、可扩展的 websocket 解决方案 - 无需开发人员构建、维护和支持 websocket 基础设施。他们的库还提供 HTTP 回退和自动重新连接等功能。
Laravel Echo 是一个库,可用于将 Pusher Channels 应用程序集成到您的 Laravel 应用程序中,并支持其他 websocket 实现
Beyondcode Laravel-Websockets 是一个开源 websocket 实现,允许您构建自己的 websocket 基础架构。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。