作者:川哥哥
之前我一直用融云的接口做即时通信,自己也摸索了一段时间觉得融云做的挺好的。可是接口是收费的还有点小贵,就放弃融云了决心自己搭建一个后台。
在网上查资料,去学校图书馆借书发现居然还有《30天,App开发从0到1》这本书,官方有点牛批额。最终发现Workerman这个框架可以做即时通信,而且还容易上手。装好了后发现Workerman基础框架只能做服务推送,不能实现客户端之间相互通信。
然后继续找资料发现GatewayWorker可以实现通信,接口都封装好了文档也详细。自己把GatewayWorker环境弄好了后做了几个简单测试,发现客户端之间确实可以相互通信,还可以群聊。然后就开始设计数据库以及完善各种业务逻辑(业务逻辑代码只能写在Events.php里面)。
服务器也是买的最便宜的1G的内存1M的带宽凑合着用(百度云服务器46元买的),服务端还没做压力测试不知道在线用户多了会不会蹦!
手机端经过多次测试发现原生HTML5 WebSocket以及平台的其他网络通信模块通信体验很差,最终选用webSocket v1.1.2模块和服务器进行通信很稳定。
目前app主要的功能:单聊、群聊、好友、二维码识别、消息数据本地存储、消息请求验证、意见反馈、消息收藏、微信登陆、截图。
消息类型:语音、文字、表情、图片、位置。
平台用到的模块:webSocket、aMap、NVTabBar、db、fs、UIChatBox、FNScanner、wxPlus、trans、imageFilter、trans。
App开发制作零零散散花了半年的时间,总体来讲前端功能模块设计要难些,很多功能比较麻烦。后端比较简单最主要就是要把数据库表设计好,App图标和名字都是临时想的。
现在官方推出了AVM,等空了把App转成AVM多端版,目前还有部分功能未完善,肯定还有很多bug,大家可以下载然后用微信登陆进行测试,欢迎大家批评指正。
主要功能界面截图:
转自:https://community.apicloud.com/bbs/thread-172273-1-1.html