WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信(双向传输)——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。
思考:既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?
服务器长期维护长连接需要一定的成本 各个浏览器支持程度不一 WebSocket 是长连接,受网络限制比较大,需要处理好重连
结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用
1). 视频弹幕
2). 网页聊天 (最典型)
3). 体育实况更新
用户下单并且支付成功后,需要第一时间通知外卖商家。通知的形式有如下两种:

设计思路:
在OrderServiceImpl中注入WebSocketServer对象,修改paySuccess方法,加入如下代码:
当商家管理端浏览器接收到这个消息, 就是前端代码负责的了
用户在小程序中点击催单按钮后,需要第一时间通知外卖商家。通知的形式有如下两种:
设计思路:
当用户点击催单按钮时,向服务端发送请求。
根据用户催单的接口定义,在user/OrderController中创建催单方法:

在OrderServiceImpl中实现reminder方法:

在OrderMapper中添加getById:
用户进行催单
用户可在订单列表或者订单详情,进行催单

查看催单提醒