首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直播软件开发,主动的方式有很多种,你选哪个

直播软件开发想要让服务器主动推送消息,可以选择长轮询和长连接的方式,两种方式都适合平台,但也有各自的特点,什么场景下选择什么样的方式有必要好好了解一下。

一、长轮询和长连接

1、长轮询,直播软件开发客户端每隔很短的时间,都会对服务器发出请求,查看是否有新的消息,只要轮询速度够快就能实现实时交互的效果。其缺点也很明显,不停、不断的请求会对服务器、客户端都造成大量的性能浪费。

2、长连接,浏览器和服务器只需要做一个握手动作,在建立连接后,双方可以在任意时刻相互推送消息,同时服务器和客户端之间交换的信息很小。

二、websocket和socket.io

1、websocket是一种让直播软件开发客户端和服务器之间进行双向实时通信的技术,它是HTML新标准下的协议规范,本质上是个基于TCP的协议,通过HTTP/HTTPS协议发送一条特殊的请求进行握手后创建的TCP连接,此后浏览器/客户端和服务器之间可以通过此连接来进行双向实时通信。

不过需要注意的是,websocket对直播软件开发的使用环境要求较高,比如,需要浏览器支持,那只能在PC端上应用,APP端没有太好的服务支持,另外还需要写一些程序,来处理TCP请求。

2、socket.io,属于websocket的上位版,因为websocket是支持浏览器的,所以存在不兼容的情况,所以就有了socket.io,它将websocket、ajax和其他通信方式全部封装成统一的通信接口,有效解决了直播软件开发APP端不兼容的问题,底层会自动选用最佳的通信方式。

到此直播软件开发使用的推送方式就这些,主动推送下对服务器的资源占用较大,开销自然也高起来了,所以直播软件开发的运营商需要注意该在什么情况下选择什么方式,避免资源的过度使用和浪费。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230412A05G8X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券