基于环信sdk的陌生人交友android版本开源

==============================================new

https://github.com/vasth/zaina 上传了服务器代码,至此该项目的所有代码已开源!

==============================================

前一段时间由于社交app新闻的增加,导致我鬼迷心窍的做了个陌生人交友软件,本来是想基于websocket 协议做消息的传递,大致思路是这样的,android和ios使用开源的websocket处理包。推送的话android和ios可以选择第三方,也可以自己做,自己做的话android就开一个后台服务运行websocket、ios的话就是用apns。以上就是我的思路,但是思路只是思路,真正要做的话是很复杂的事情,所以就像找第三方的,而当时正好看到环信即时通讯云,我也比较了几家,不过界面都不是很好看,环信的界面还说的过去,而且成本可以。还有一个是容联运通讯,很早就关注了,比较专注于voip方面的,现在好像也免费使用互联网消息了。还有一个是融云,界面挺好看,但是聊天记录导出需要收费,所以就没有怎么考虑,我还是比较倾向于融云,毕竟是大公司,眼光长远,代码都是很有战略性考虑的。但是为了降低成本还是选择了环信,而且当时环信比融云更成熟(融云当时还没有出正式版本)。

服务器端的,因为php上手容易,所以就用php写了服务器端的接口,其实接口没什么说的,引用一位(忘了是谁)人说的一句话RESTful架构,就是目前最流行的一种互联网软件架构,可以理解成同一种资源的不同表现形式。所以服务器端php就是增删改查。这里说一下我用的第三方的软件:lnmp(这个不必多说)、weed-fs(golang写的一个很赞的小文件分布式存储系统)、memcached(缓存服务器)。

为什么要用weed-fs呢?其实以我现在的用户量根本就是在杀鸡用牛刀,吧图片放在文件夹下其实就可以,主要是因为我接触了golang这个语言,想学习一下这个语言,在学习前肯定要找一下学习的动力,就像每个地方都翻遍上下五千年想要找到该地方出过什么名人一样。所以就找到这个,其实还有很多小文件存储服务器,大家可以搜一下,具体的我都记不清楚了。

memcached主要是做缓存,当然我还用他做一个队列服务器。一般消息队列都有专门的系统区做,MSMQ. ActiveMQ.RabbitMQ.ZeroMQ.还有一个是新出来的NSQ也是用golang做的。不过这些都是比较大,所以就没有用,我的这个消息队列只用到在数据统计方面,其他的方面没有涉及,因为需求简单所以就没有用那么复杂的系统,memcached就足够用了(redis的队列好像更好不过没有试验)。还有一些中型的队列服务是提供http接口的比如uc开源的队列服务,还有张宴开源的队列服务,都挺好的。

以上就是服务器端用的第三方软件。android端现在已经上传到了github上:https://github.com/vasth/zaina 大家感兴趣的可以下载或者运行,各位大牛就不要围观了。。。


你可能感兴趣的:(基于环信sdk的陌生人交友android版本开源)