我刚刚开始使用socket.io,我正在做一些研究,似乎所有结果都是聊天和消息传递应用程序。所以我的问题是,socket.io是否比聊天应用程序更有用,比如说你创建一个Facebook克隆并使用socket.io建立登录/注册?
答案 0 :(得分:1)
socket.io支持浏览器网页和服务器之间的双向通信通道。有数以万计的事情可以做到。虽然聊天是一个明显的用途,每个人都理解(因此示例应用程序显示的原因),socket.io是一个通信渠道,可以几乎任何东西使用。一些想法:
您在服务器上启动一个长时间运行的任务(可能需要15分钟才能运行)。同时,随着服务器的进展,它会通过socket.io连接将定期进度通知发送回网页,因此网页可以显示精确的进度而无需轮询服务器。
我有一个家庭自动化服务器,可监控房屋周围的多个温度,并根据这些温度控制一些电子设备(如阁楼风扇)。当我到达该家庭自动化服务器的网页时,它会显示所有温度探测器的实时读数集,因为自动化服务器会在网页更改时将温度更新推送到网页。
您是货币交易者,您希望观察货币波动的实时变化。您转到通过socket.io从服务器获取实时更新的网页。
在类似Facebook的应用程序中,开发人员可以使用socket.io连接来保持浏览器状态为最新状态,以确定谁在线,谁不在线并提供实时更新饲料。
在体育网页中,您可以打开特定棒球比赛的页面,并通过socket.io连接获取游戏进度的实时更新。
这里的一般主题是,只要服务器有某种类型的实时数据,它就会推送"推送"数据发生变化后立即向客户提供,而无需等待客户进行"民意调查。对于数据,socket.io连接非常适合。如果没有socket.io连接,网页将不得不定期轮询服务器以询问最新数据,这些数据既不是活动的,也不是高效的客户端,服务器或带宽使用。