node + koa + websocket 开发即时通讯聊天室(一)

本文介绍了使用Node.js、Koa和WebSocket协议开发即时通讯聊天室的过程。通过WebSocket实现浏览器与服务器的全双工通信,对比传统HTTP协议的非持久性和轮询方式的效率问题。文章详细讲解了WebSocket的生命周期事件和基本API,并展示了HTML中WebSocket的连接建立、发送消息、接收回复及错误监听的实现步骤。
摘要由CSDN通过智能技术生成

(一)通讯过程

红色就是消息流动过程,A给B发送消息,A先发给服务器,服务器再发给B,B 回复 A 的消息,B 将消息先发给服务器,服务器将消息发送给A

(二)什么是 websocket

(1)websocket 协议是基于 TCP 的一种新的网络协议,它实现了 浏览器 与 服务器 的 全双工通信(全双工通信:浏览器既可以主动给服务端发消息,服务券也可以主动给浏览器发消息)

而 http 是无法实现这种功能的,http 是 发送 ---> 请求流程,如果不发送请求,服务端是不能主动给浏览器发消息的

websocket 是一种持久协议(长链接),http是非持久协议(每次服务器发送一个对象后相关的TCP连接就被关闭,也就是说每个连接没有持续到可以传输其他对象。每个TCP连接只能传送一个请求消息和响应消息)

(2)传统的聊天方式

传统的聊天采用 ajax 轮询的方式,(http 方式)采用定时器,向服务器发送请求,但是这样对服务器性能不好,浪费性能和资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值