17、构建基于 Socket.IO 的实时聊天应用

构建基于 Socket.IO 的实时聊天应用

1. 技术探索与选择

在数据检索和更新方面,GraphQL 作为 REST 服务的替代方案,展现出了诸多优势。我们研究了将 Apollo 搭建为服务器端的 GraphQL 引擎,并将其集成到 Angular 客户端中,以实现与服务器的交互,同时还学习了专业的 GQL 查询语言。为了充分发挥 TypeScript 的强大功能,引入了 type - graphql 包,简化了 GraphQL 模式和解析器的创建过程。

除了数据交互技术,我们还探索了 Angular 路由,根据用户选择的路由提供不同的视图。并且持续使用 Material 设计,以便将相关逻辑应用到界面导航中。同时,借助 Angular 提供的验证功能,结合内联模板,为用户输入提供一致的反馈,避免用户犯错。

2. 长连接通信技术需求

以往客户端与服务器的通信方式,大多依赖用户的某种交互来触发数据传输,如点击链接或按钮。然而,在某些场景下,我们希望客户端与服务器之间保持永久的通信连接,以便数据一旦可用就能立即推送。例如在线游戏中,我们不希望玩家每次获取其他玩家状态更新都要手动操作。

多年来,为解决这一问题,出现了多种技术。像 flash sockets 这类依赖专有系统的技术已逐渐被淘汰。如今,WebSocket 成为了主流标准,各大浏览器均支持该协议。值得注意的是,WebSocket 与 HTTP 是协同工作的协议,HTTP 使用 HTTP 或 HTTPS 标识协议,而 WebSocket 则使用 WS 或 WSS(WebSocket Secure)作为协议标识符。

在 Node.js 领域,Socket.IO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值