我试用了 socket.io

最近公司内部使用的系统提出了一个新的需求,要求在界面上显示任务的总数和剩余未被接收的任务个数,由于会多人同时使用这个系统,很显然,当有任务被接收后,所有人在网页上看到的未被接收任务个数都应该减一。

由服务器统一储存任务的总数和未被接收的任务数,登陆系统时获取当前的信息,然后当服务器上的任务数有变化时,客户端获取到通知然后在页面上显示对应的变化。获取通知的方法有两种,客户端请求和服务端通知。

在以前,这种需求只能够通过客户端定时轮询服务器实现,也就是客户端请求这种方式,这只能算是单向通信。而现在,因为有了 websocket,服务端也可以主动向客户端推送,实现双向通信,这次的新需求就准备用这种技术实现。

(如果用 websocket,第四步就省去了)

socket.io 提供了服务端和客户端的库,可以很方便地使用这种技术,而且默认支持 cors,完全可以在不影响原有系统的情况下引入。

至于服务端代码,不需要纠结 socket.io 是否有原有系统使用的服务端语言实现(目前有 js、java、c++、swift等),因为支持 cors,即使写好的服务端代码跑在不同的机器、端口上也可以正常使用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190215G1CIL300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券