Socket.IO 教程

  • 什么是Socket.IO

    Socket.IO支持基于事件的实时双向通信。它可在每个平台,浏览器或设备上运行,并同时关注可靠性和速度。Socket.IO建立在WebSockets API(客户端)和Node.js之上。它是npm(节点软件包管理器)上最依赖的库之一。
    Socket.IO是一个用于实时Web应用程序的JavaScript库。它支持Web客户端和服务器之间的实时双向通信。它包含两个部分:在浏览器中运行的客户端库和用于node.js 的服务器端库。这两个组件具有相同的API。
  • 什么是Socket.IO

    实时应用程序(RTA)是在用户感知为即时或当前的一段时间内运行的应用程序。
    实时应用的一些例子是-
    • 即时通讯程序-聊天应用程序,如QQ,微信,在线客服系统等。您无需刷新应用程序/网站即可接收新消息。
    • 推送通知 -当有人在某购物网站下单成功时候,您会立即收到通知。
    • 协作应用程序 - 在线多人Word文档之类的应用程序,允许多个人同时更新相同的文档并将更改应用于所有人员的实例。
    • 在线游戏 -反恐精英,使命召唤等游戏也是实时应用程序的一些示例。
  • 为什么选择Socket.IO?

    传统上,使用诸如LAMP(PHP)之类的流行Web应用程序堆栈编写实时应用程序非常困难。它涉及轮询服务器的更改,跟踪时间戳,并且比预期的要慢得多。传统上,Socket是围绕其构建大多数实时系统的解决方案,可在客户端和服务器之间提供双向通信通道。这意味着服务器可以将消息推送到客户端。每当发生事件时,其想法是服务器将获取该事件并将其推送到相关的已连接客户端。Socket.IO非常受欢迎,Microsoft Office,Yammer,Zendesk,Trello和许多其他组织使用Socket.IO 来构建强大的实时系统。它最强大的一个JavaScript框架在GitHub上,大部分依赖,在NPM(节点包管理器)模块。Socket.IO还有一个庞大的社区,这意味着寻找帮助非常容易。
  • Express

    我们将使用express来构建Socket.IO将使用的Web服务器。可以使用任何其他Node服务器端框架甚至Node HTTP服务器。但是,Express使定义路由和其他内容变得容易。要阅读有关express的更多信息并获得基本知识,请转至ExpressJS 教程
  • 听众

    本教程是为具有HTMLJavaScript和客户端服务器工作原理的基本知识的人员创建的。完成本教程后,您将能够为您的移动应用程序构建适度复杂的网站和后端。
    先决条件是您应该具有Javascript和HTML的基本知识。如果您不熟悉这些,我们建议您先阅读这些领域的教程。如果这不是强制性的,那么如果您对HTTP有一定的了解,那肯定会有所帮助。具备MongoDB的基础知识将对数据库一章有所帮助。