非即时通信app,前后端是采用http交互还是socket?

新手上路,请多包涵

socket的话把请求存入redis队列,即使后台挂掉也能在服务回复后执行,但是请求是异步的一些日常请求会堆积在队列。http的话是同步返回成功与失败。用哪个好呢~### 问题描述

阅读 1.9k
1 个回答

看使用场景,用 socket 的话,在后端有数据更新的时候可以主动通知到app,用http需要定时轮询后端接口但是使用方便。

非即时通信app还是建议用socket来获取用户消息,原因:

  1. 避免频繁请求造成大量查询压力, http请求方式在并发查询的时候对DB压力会比较大,socket可以轮流处理消息,主动权在后端
  2. 在网络比较差的时候sockethttp更好用,网络差的情况下http三次握手很慢的,不注意会造成请求堆积
  3. 非常方便统计在线人数
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题