webSocket前端接收后台数据实时更新

3,127 阅读1分钟

场景:用户APP下单传给服务器,服务器及时通知商家APP,商家APP接单,及时告诉给服务器,最后服务器及时反馈给用户订单状态(待接单,已接单)。有点像饿了么叫外卖下单

1轮询

ajax定时器:客户端不断请求comet: 客户端先请求一次,服务端没有数据更新,就让请求阻塞。有更新再响应数据。客户端接收响应后,再发一次请求。。。。。但这种方法,很占服务器资源。

2 webSocket

是TCP协议,一次握手后,不断开,可以进行频繁的双向通信,比轮询的多次请求节约资源。

请求头有个…key,服务器将这个key处理后,在响应头里返回给客户端,客户端通过key判断是否连接成功。连接成功后,服务器和客户端都会有一个webSocket对象,监听这个对象来接收和发送数据。

3 实现实时更新主要点

请求时客户端与服务器端会生成一对相匹配的socket 通过这个socket进行通信 当数据更新时获取在线用户 遍历这个socket做相应处理

后续更新示例