上边文章摸清了视频通话的流程,这篇记录下图片发送的流程。
原理要比视频通话简单很多。
- 发送方A登录,与服务器成功建立socket连接。
- 选择图片点击完成,会返回到聊天界面,调用onActivityResult方法,然后调用sendImage方法,在这个方法里先调用sendImageMsg方法,在这个方法里大致就是讲需要发送的内容封装到一个对象里,通过socket.emit("chat")事件,将内容发送给服务器,同时本地保存一份副本,用于查看聊天记录。
- 发送完成后,本地聊天界面更新一下。
- 服务器接收到图片先做处理,原图和缩略图各保存一份到服务器图片文件夹。保存图片利用Imagemagic软件。测试用的windows服务器要去官网下载windows版本,下载安装,安装过程中需要将Install legacy utilities(e.g. convert)选项打钩,否则会报错。安装完成后,需要在node终端安装images,执行命令npm install images。安装完成后,就可以使用了。
- 服务器处理完图片后就开始通过emit("chat")事件给接收方B发送消息,
- 接收方B收到消息后,将图片保存到本地,更新聊天界面。