VUE app 关闭消息推送送用的webSocket后台自动中断了

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

项目中因为有的数据使用分页后数据加载还是很慢,所以考虑使用websocket来解决后端获取到数据库数据后就依次返回给前端,这样就不需要等分页数据全部获取后才返回

点击按钮后才开启websocket连接,然后发送数据给后端(相当於post请求中也是需要传递数据给后端使用)在websocket实例对象的onmessage 函数中能获取到后端返回的数据进行处理渲染。

//接收后端返回的数据 // 在这里使用後端返回的数据对数据进行处理渲染 // 因为需求是每次点击都是发起不同ws连接,拿到的数据也不一致所以连接前要先断开上次的连接 // 这裏使用定时器是为了等待连接后才发送数据,避免错误 //添加状态判断当为OPEN时,前端发送消息给后端 // 把后台需要的参数数据传过去 //发给后端的数据需要字符串化

websocket的几个状态通常在实例化一个websocket对象之后,客户端就会与服务器进行连接但是连接的状态是不确定的,于是用readyState属性来进行标识它有四个值,分别对应不同的状态:

OPEN:值为1表示连接成功,可以通信了; CLOSING:值为2表示连接正在关闭; CLOSED:值为3,表示连接已经关闭或者打开连接失败。

最近在做一个laravel+swoole的聊天室一个项目想着实现一个可以主动触发关闭消息推送送的功能,这个可以实现向模板消息那个给予所有成员发送自定义消息,而不需要通过客户端发送消息服务端上message中监听传送的消息进行做相对于的业务逻辑。

前面说的是swoole中onRequest的实现下面实现下在控制器中主动触发onRequest回调。实现方法就是我们熟悉的curl请求

onRequest回调特别适用于需要在控制器中调用的推送消息,比如模板消息之类在控制器中调用。

我要回帖

更多关于 关闭消息推送 的文章

 

随机推荐