即时聊天系统(IM)发送文件语音视频的两种方式比较

本文探讨了即时聊天系统(IM)发送文件、语音和视频的两种常见方法:一是通过新建网络连接发送,二是利用HTTP上传并发送文件路径。第一种方法可能造成发送堵塞或增加服务器连接维护难度;第二种方法虽然涉及额外的文本消息传输和文件权限控制,但利用了HTTP的成熟机制。作者倾向于选择第二种策略。
摘要由CSDN通过智能技术生成

一般情况发送消息,把消息通过流发送给接收方{"MessageBody": "消息内容"},但是作为聊天系统这样发送消息存在两个问题:1,接收方不知道如何解析消息,消息是文本还是图片,语音,视频和文件消息。2,图片语音视频文件等消息内容很大,就算现在网络环境很好,压缩比例很大,但是现在图片视频质量也越来越高。如果依靠发现送文本的端口和服务器发送图片和语音等消息,会一直占用连接,必须等大消息内容发送完毕,才能发送其他消息。

基于上面提出的问题,我们首先要把消息分成两个类型,第一个文本消息,第二个是图片,语音视频和文件等大内容的消息,我们把此类型消息归纳成一类文件消息,文本和文件消息分开发送。

目前普遍的做法有两种:

第一方式是文件消息另外创建一条网络连接,通过新的网络连接来发送消息给服务器,方式方法都跟发普通文件消息一样,弊端就是比如同时发送很多文件,如果只创建一个链接会导致文件发送堵塞,如果创建很多链接,增加了服务器维持连接的难度。所以现实中采用此方法的聊天软件中一般都会控制同时发送文件的数量,比如微信同时只允许发送9张图片,并且微信也不是同时创建9个连接,仅仅创建3个连接,同时发送的图片只有3张,一个连接发完一张图片后再发送另一张图片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值