java吧 关注:1,217,119贴子:12,665,654
  • 2回复贴,共1
求助

审核功能后端用websocket能做吗?

只看楼主收藏回复

用户投稿,管理系统审核,审核结束用户立刻能收到审核结果,视频发布


IP属地:浙江来自iPhone客户端1楼2023-09-22 16:25回复
    使用WebSocket是可以实现审核功能并且用户可以立刻收到审核结果。这种场景一般需要后端服务器与客户端之间建立持久连接,然后实时地向前端推送信息。以下是一个简单的步骤:1. 用户投稿:用户在前端页面提交视频或其它内容,该请求通常包含视频的信息和用户的账户信息等。这段代码主要是在前端的JavaScript中完成。2. WebSocket建立连接:当用户点击投稿按钮时,浏览器会向后端服务器发起WebSocket连接请求。这个过程是异步的,即在投稿表单提交之后并不会阻塞等待审核结果。3. 后台处理投稿并返回结果:后端系统接收到投稿请求后进行相应的处理(例如保存到数据库、转码、人工审核等),处理完成后通过WebSocket将审核结果推送到前端。这里需要注意的是,如果审核流程比较长或者需要进行多级审批,可能需要考虑如何维持这个WebSocket连接以及如何在长时间没有数据传输的时候关闭连接等问题。4. 前端展示审核结果:当浏览器接收到后台推送的审核结果时,可以使用JavaScript来更新UI显示给用户看到最新的审核状态。5. 一旦审核结束并通过,就可以立即发布已审核的视频。这可以在后端管理系统中触发一个事件或在数据库中进行标记,然后在某个时间点由另一个服务统一拉取这些已经审核通过的内容并进行发布操作。6. 对于非实时的消息通知,也可以利用WebSocket的`onmessage`回调函数接收并处理对应的通知事件,以实现对相关操作的响应和处理。7. 当不活跃的WebSocket连接不再被使用时,应当及时关闭此连接以释放资源。可以考虑在前端的JavaScript中使用`window.onbeforeunload`全局事件捕获窗口关闭的事件并在此时调用WebSocket的close方法断开与服务器的连接;同时也可以在后端添加检测机制判断对端是否仍然保持连接以便于能够主动断开水久不活动的WebSocket连接等等方式来实现这一目的。


    2楼2023-09-22 16:35
    回复
      在这个业务只有审核结果是s到c,抽象成一个通知吧,前端可以用ws和后端保持长连接,专注接受通知并处理。
      视频自动发布是后端的事情,前端只要处理收到的通知就好。


      IP属地:广西来自Android客户端4楼2023-09-23 16:32
      回复