20

http协议特点

一次性的,非持久性的一个服务

Websocket协议的特点

持久化连接,是一种独立的,基于tcp的协议

会有一个属性upgrade在header头

基于websocket,我们可以实现客户端和服务端的双向通信。

Websocket协议的持久化连接比之前ajax轮询而建立的源源不断的http连接,更加节省宽带和服务器的资源

 

案例:

订单

-> 异步消息队列

-> 处理后的信息发送回给前台(可以通过websocket)

 

Client -> server

1.连接请求信息(既是建立连接,也是请求信息)

 

Server->client

2.响应结果,返回数据

 

Websocket的作用就是让这部分数据可以持久化

 

Client->server

3.已接收,请关闭连接

 

Server->client

4.已关闭

20

websocket_server是在swoole_http_server基础之上做了协议解析

 

使用原生socket实现websocket

20

Swoole的websocket

几行代码就可以完成

20

用户连接标识,用来辨别客户端的身份

可以把fd缓存在redis中

websocket集成到框架中

1.路由设计

20

对应路由:

20

 

对应的测试控制器:

20

2.路由解析

 

3.websocket服务设置

 

4.websocket服务

20

问题

1.发送的心跳包应该尽可能小

2.心跳的时间 延长

 

Heartbeat_check_interval 每隔多久轮询一次

Heartbeat_idle_time  最大允许的空闲时间

 

推荐使用 laravel_swoole 组件

相关文章:

  • 2021-12-19
  • 2021-08-10
  • 2021-08-11
  • 2022-12-23
  • 2021-04-04
  • 2021-08-30
  • 2021-11-08
  • 2021-11-18
猜你喜欢
  • 2021-08-28
  • 2022-01-06
  • 2021-06-12
  • 2021-10-16
  • 2021-07-11
  • 2021-09-08
相关资源
相似解决方案