Socket.io - 是否可以与 socket.io 构建聊天应用程序以外的其他内容



我刚刚开始使用 socket.io,我正在做一些研究,似乎所有的结果都是聊天和消息传递应用程序。 所以我的问题是,socket.io 比聊天应用程序更有用吗,比如你能说创建一个 Facebook 克隆并使用 socket.io 建立登录/注册吗?

socket.io 支持浏览器网页和服务器之间的双向通信通道。 人们可以用它做无数的事情。 虽然聊天是每个人都能理解的明显用途(因此示例应用程序显示这一点(,但 socket.io 是一个通信渠道,几乎可以用于任何事情。 一些想法:

  1. 在服务器上启动长时间运行的任务 (可能需要 15 分钟才能运行(。 同时,当服务器取得进展时,它会通过 socket.io 连接将定期进度通知发送回网页,因此网页可以显示精确的进度,而无需轮询服务器。

  2. 我有一个家庭自动化服务器,可以监控房屋周围的温度,并根据这些温度控制一些电子设备(如阁楼风扇(。 当我到达该家庭自动化服务器的网页时,它显示了所有温度探头的一组实时读数,因为自动化服务器会在温度更新发生变化时实时推送到网页。

  3. 您是一名货币交易者,您想观看货币波动的实时变化。 您转到一个网页,该网页通过 socket.io 从服务器获取实时更新。

  4. 在类似Facebook的应用程序中,开发人员可以使用 socket.io 连接来保持浏览器状态的最新状态,以了解谁在线,谁不在线,并向Feed提供实时更新。

  5. 在体育网页中,您可以打开特定棒球比赛的页面,并通过 socket.io 连接获取比赛进度的实时更新。

这里的一般主题是,每当服务器有某种实时数据时,它希望在数据更改时立即"推送"到客户端,而无需等待客户端"轮询"数据,socket.io 连接非常适合此。 如果没有 socket.io 连接,网页将不得不定期轮询服务器以请求最新数据,这些数据对于客户端,服务器或带宽使用来说既不是实时的,也不是有效的。

最新更新