Socket.IO 和 Firebase 有啥区别?

Posted

技术标签:

【中文标题】Socket.IO 和 Firebase 有啥区别?【英文标题】:What is the difference between Socket.IO and Firebase?Socket.IO 和 Firebase 有什么区别? 【发布时间】:2015-04-24 22:36:36 【问题描述】:

我看了一个关于 Node.js 的 codeschool 教程,他们在教程中使用 Socket.IO 模仿了一个聊天服务器。

我也觉得 Firebase 做同样的事情。

如果有的话,两者有什么区别?

【问题讨论】:

SocketIO 是一个开源库。 Firebase 是一种云服务。他们都使用Websockets。但是每个人都有自己的js层实现 【参考方案1】:

其实是有区别的。

Socket.io 是一个用于管理套接字的 javascript 库。在网络聊天示例中,您创建套接字:

    客户端到服务器 服务器到客户端

也就是说,您控制所有端点,并使用 socket.io 作为一种工具在您的端点之间进行通信。

相比之下,使用 firebase 您只关注 1(客户端到服务器)


使用服务与使用自己的基础设施的优缺点是一个不同的主题,并且非常固执己见。

【讨论】:

但是你不能用firebase创建一个网络聊天吗? @user3587754 是的,我举个例子。想象一下烤箱(socket.io)和外卖披萨(firebase)。两者都可以让您获得最终产品 - 比萨饼(网络聊天)。后来更贵(因为它是一项服务),但更容易。虽然,使用烤箱 (socket.io),您拥有更多的控制权,但它也带来了更多的责任。 @alandarev 多么美妙的解释!非常感谢!【参考方案2】:

有很多很多不同。例如:

SDK

Firebase 有 9 个 SDK,包括 JavaScript、android、Unity。 Socket 只是 1 个用于浏览器的官方客户端库 (JavaScript)。

实时功能 Firebase 具有发布/订阅消息、连接状态恢复、存在、本机推送通知、webhook。 Socket.io 没有这些。

文档

两者都有很好的文档,包括入门指南、信息架构和开发人员之旅、API 参考。

这些只是一些例子,但这里是in-depth comparison between Firebase and Socket.io

【讨论】:

以上是关于Socket.IO 和 Firebase 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

WebSockets 和 Socket.io 有啥区别?

Firebase 存储中的“getBytes()”和“getStream()”方法有啥区别?

Google Analytics“活跃用户”和 Firebase“活跃用户”有啥区别?

GraphQL 订阅和 WebSocket 协议有啥区别?

Flutter web 的 firebase_core 和 firebase_core_web 包有啥区别?

Firebase 云消息传递令牌和服务器密钥有啥区别?