开发学院

您的位置:首页>教程>正文

教程正文

Socket.IO 概述

Socket.IO 概述

  Socket.IO是用于实时web应用程序的JavaScript库,它实现了web客户端和服务器之间的实时双向通信。它有两个部分:在浏览器中运行的客户端库,以及用于node.js的服务器端库,两者的API几乎相同.

实时应用程序

  实时应用程序(RTA)是可以实时处理双方请求的程序集。

  实时应用程序的一些示例如下:

  聊天应用程序,如Whatsapp、Facebook messenger等。您无需刷新应用程序/网站就可以接收新消息。

  推送通知:当有人在Facebook上的图片上标记你时,你可以立即就收到通知。

  协作程序:像Google Docs这样的应用程序,允许多个人同时更新相同的文档,并对所有人的实例应用更改。

  在线游戏:像反恐精英、使命召唤等游戏也是实时应用程序的例子。

为什么选择Socket.IO

  使用像LAMP(PHP)这样的框架来实现实时应用程序一直是非常困难的。它涉及轮询服务器,跟踪时间戳等操作,效率也低很多。

  Socket传统上是围绕大多数实时系统设计的解决方案,在客户端和服务器之间提供双向通信通道。这意味着服务器可以将消息推送给客户端。每当发生一个事件时,该服务器会得到它并将其推送至相关的连接客户端。

  Socket.IO非常流行,它被Microsoft Office, Yammer, Zendesk, Trello和许多其他组织使用,以构建健壮的实时系统。它是github上最强大的JavaScript框架之一,也是最依赖的NPM模块。Socket.IO也有一个巨大的社区,这意味着寻找帮助是相当容易的。

ExpressJS

  我们将使用Express来构建Web服务器.你可以使用任何其他node服务器端框架,甚至可以使用node http服务器。但是,express更加方便。要阅读更多关于Express的资料,可以参考相应教程