QQ客户端和服务器之间有心跳机制,客户端通过周期性心跳上报,可知道什么时候需要
拉消息
或服务器知道什么时候推消息
~~~
@无名啊,直播间弹幕甚至可以像直播本身一样通过无状态HTTP服务器分发,按时间切片放在不同的json文件里,然后由一个列表(类似m3u8)不断列出最新的json文件名,由播放器自行下载展示。这样就能用分发直播视频流的渠道分发弹幕了。
@无名啊,直播弹幕和群聊的不同点:
- 历史记录:如果对方发消息时你不在线,群聊允许你稍后接收消息,但直播就直接错过了。
- 连接数量:为每个直播间建立一个TCP连接是可接受的,但为每个群建立一个TCP连接似乎不可接受(你可能加入了几百个群)。所以群聊必须由服务器合并你收到的消息,但直播间不需要合并。
- 消息可达性:未收到某个群消息是不可接受的,但未收到某些弹幕完全可以。很多人气很高的直播间弹幕一屏根本放不下,都是裁剪后显示的,每个人都只收到了部分弹幕。
@老虎会游泳,不是发一个弹幕,就要转发给其他 几十成百上千万用户 咩。。
@无名啊,因为每个直播都是一个单独的连接,不需要考虑多个群共享连接,所以采用CDN模型就行了,由一个中心服务器负责发送消息,然后逐级分发给全国CDN,每个人收到的消息都一样。发弹幕则是统一发给那个中心服务器。
可以的,但是要joycon吧?
yy几万人在一个频道即时聊天 当年可是行业翘楚
@老虎会游泳,那直播弹幕那种呢?几十成百上千万用户直播间那种。。
@卷心菜,是,所以QQ群有人数上限,就是为了避免单个群连接数太高服务器撑不住,以及形成广播风暴(每发一个消息就要转发给几千人这种)。限制为几百人是比较合适的。
至于具体的实现,可以采用消息中继模型:
- 我只与负责我登录的服务器联系。群里的其他人各自在他们的服务器,和我可以不在同一个服务器。
- 每个群都有一个专门负责的服务器进行中继。
- 有人发消息时,先发给自己的服务器,然后自己的服务器把消息转发给对应群的中继服务器,中继再查找各个群成员在哪个服务器,并逐一转发。最后群里的所有人都收到了消息。
- 此时设置群成员上限就很有必要,否则每次发消息都相当于给所有服务器都发了一遍,形成广播风暴。
楼主 @卷心菜 于 2023-06-15 20:01 删除了该楼层,理由如下:无关评论
@胡图图,我看贴吧说可以
@呆哥,侠盗猎车-自由城也没有手游吗?我现在想玩自由城跟gta5,,😭
层主 @咯叽 于 2023-06-19 16:47 删除了该楼层。
@咯叽,发给我下载链接喂兄弟![]()
不如玩客户端侠盗飞车
5没手游
层主 @咯叽 于 2023-06-19 16:48 删除了该楼层。
@㝶芾厶眵攴䭡,还可以开这个:
https://www.alibabacloud.com/help/zh/alibaba-cloud-cdn/latest/set-a-bandwidth-cap
您可以通过配置带宽封顶功能,限制带宽用量的上限,减少因突发流量导致的损失。
不过什么数值合适很难判定,所以我没开。