flutter图片聊天泡泡_使用flutter如何进行聊天功能的开发?

我们做的im已经到了第二版了

简单说,技术关键在于建立一个长连接,然后允许服务器能够将消息主动发送到flutter端

从这一点上说,reactive programming非常重要,所以vert.x天然适合做这种应用的服务器

vert.x有net server,用flutter的socket建立起连接之后,vert.x将连接放入一个map,然后消息过来的时候,从map中找到对应的socket,再将消息写入便可

一般的http server/web server是建立在http也就是一问一答式的请求-响应模式上的,做im不合适,做游戏服也不合适,相比之下vert.x做这个就非常得心应手,而且reactive的listener和request这些可以用eventloop来处理掉并发冲突和lock,开发起来就非常快了

flutter那边,http和tcp混用,请求基本上用http client完成,同时flutter也有reactive programming,在socket上挂一个listener,对于服务器发过来的消息,挂上一个listener处理,flutter跟vert.x一样,flutter有ui runner,其实就是一个ui thread,ui thread也是一个loop,要不停滴刷新页面,这一点上说跟vert.x的eventloop是一样的,还有游戏的gameloop,也是如此,所以这几个并发的模式几乎是一样的,那flutter也跟vert.x一样,帮你解决掉了并发问题,用loop,所以你不需要手动加lock之类的,它能搞定,那flutter收到消息之后,处理完成,再手动调用set state方法将状态更新一下,就能看到结果了

我们的im demo接近完成,但是第二版还有些细节需要处理,有兴趣的可以看源码

目前fllutter的第一版和第二版的源码混在一起,回头我把第一版的源码给删了,然后再release一个apk,但是需要点时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值