开启WebSocket

重新更新了一下websocket的实现,换成了javax.websocket包下的类实现,没有了之间的关闭服务还要等会的问题了

而且页面上也不用再多引入一个socket.io的js了,纯原生的js实现

注意,因为网站是服务端渲染的,所以每次请求页面都会刷新,websocket也会重连,这就有点蛋疼了

不过也不是没办法, 可以给网站加上pjax支持,也可以将这个功能用在纯js渲染的网站上,很显然这两个功能pybbs都还没有

目前围绕ws开发的功能有如下

  • 自己的话题被收藏了,会收到通知

  • 自己的话题被评论了,会收到通知

  • 自己的评论被回复了,会收到通知

  • 进入页面后,ws会自动获取未读消息数,然后展示在页面上的Header和`document.title`上

效果如下

7C56195B1FE6F942649D30D65416EE80

当然开启websocket服务也不是没有好处的,比如:

  • 上图中别人回复了自己的评论就会立即收到消息

  • 发一个帖子等着别人回复,不用一直刷新页面看有没有新消息了


如果你看了上面的说明后,还是想开启,配置如下

QQ20190123-103144

只有两个配置

  1. 开启功能,不多说

  2. ws连接地址,协议是 ws 或者 wss(如果你网站访问用的是https,那这个就应该是wss),其它跟上面配置的网站访问域名一样

然后直接启动系统即可,注意,ws服务在前端只有登录后的用户才有效