基于 Server-Sent Events 实现服务端消息推送 本文介绍了服务器推送事件(Server-Sent Events,简称SSE)技术,这是一种允许服务器向客户端主动推送信息的技术。作者因项目需求,需要在 APP 端和 PC 端之间实现任务领取通知的功能,通过使用 SSE 技术,避免了轮询方式带来的性能问题。文章详细解释了 SSE 的基本概念、与 WebSocket的区别、服务端和客户端的实现方法,并以 .NET 为例,展示了如何在服务端集成 SSE。作者还提供了一个简单的客户端实现示例,并对比了 SSE 与其他技术的优劣。最后,作者总结了选择 SSE 的原因,并提供了相关参考文章。
基于 WebSocket 和 Redis 实现 Bilibili 弹幕效果 本文作者 Payne 介绍了使用 .NET Core 和 Vue 构建基于 WebSocket 的聊天室的进阶项目——一个弹幕系统。由于项目需要实时数据推送以完成图表展示,作者选择了 WebSocket 和 Redis 技术。文章首先展示了服务端消息推送的实现,通过中间件循环从消息队列中取消息并群发至客户端。接着,作者讨论了使用 Redis 作为消息队列的原因,解释了不使用 RabbitMQ 和发布-订阅模式的理由,并展示了简单消息队列的实现。在前端实现部分,作者使用了 Canvas API 来绘制弹幕,并提供了前后端分离设计和静态文件中间件使用的示例。文章最后总结了通过这个项目引出的技术话题,如部署和跨域等。
使用 .NET Core 和 Vue 搭建 WebSocket 聊天室 本文介绍了 WebSocket 的基本概念和应用。WebSocket 是建立在 HTTP 协议基础上的双向通信协议,弥补了 HTTP 协议请求-响应模型的不足,使客户端和服务器可以实现双向通信。文章以构建WebSocket 聊天室为例,展示了如何在 ASP.NET Core 中实现服务端 WebSocket 和使用原生 WebSocket API 和 Vue 实现客户端功能。另外,文章还介绍了 ASP.NET Core 中间件的概念和作用。通过实例展示了 WebSocket 握手请求和响应的过程,以及服务端如何响应 WebSocket 请求。文章深入浅出地解释了 WebSocket 的原理和应用,为读者提供了全面的了解和实践指导。