基於環信sdk的陌生人交友android版本開源

==============================================newphp

https://github.com/vasth/zaina 上傳了服務器代碼,至此該項目的全部代碼已開源!android

==============================================ios

前一段時間因爲社交app新聞的增長,致使我鬼迷心竅的作了個陌生人交友軟件,原本是想基於websocket 協議作消息的傳遞,大體思路是這樣的,android和ios使用開源的websocket處理包。推送的話android和ios能夠選擇第三方,也能夠本身作,本身作的話android就開一個後臺服務運行websocket、ios的話就是用apns。以上就是個人思路,可是思路只是思路,真正要作的話是很複雜的事情,因此就像找第三方的,而當時正好看到環信即時通信雲,我也比較了幾家,不過界面都不是很好看,環信的界面還說的過去,並且成本能夠。還有一個是容聯運通信,很早就關注了,比較專一於voip方面的,如今好像也無償使用互聯網消息了。還有一個是融雲,界面挺好看,可是聊天記錄導出須要收費,因此就沒有怎麼考慮,我仍是比較傾向於融雲,畢竟是大公司,眼光長遠,代碼都是頗有戰略性考慮的。可是爲了下降成本仍是選擇了環信,並且當時環信比融雲更成熟(融雲當時尚未出正式版本)。git

服務器端的,由於php上手容易,因此就用php寫了服務器端的接口,其實接口沒什麼說的,引用一位(忘了是誰)人說的一句話RESTful架構,就是目前最流行的一種互聯網軟件架構,能夠理解成同一種資源的不一樣表現形式。因此服務器端php就是增刪改查。這裏說一下我用的第三方的軟件:lnmp(這個沒必要多說)、weed-fs(golang寫的一個很讚的小文件分佈式存儲系統)、memcached(緩存服務器)。github

爲何要用weed-fs呢?其實以我如今的用戶量根本就是在殺雞用牛刀,吧圖片放在文件夾下其實就能夠,主要是由於我接觸了golang這個語言,想學習一下這個語言,在學習前確定要找一下學習的動力,就像每一個地方都翻遍上下五千年想要找到該地方出過什麼名人同樣。因此就找到這個,其實還有不少小文件存儲服務器,你們能夠搜一下,具體的我都記不清楚了。golang

memcached主要是作緩存,固然我還用他作一個隊列服務器。通常消息隊列都有專門的系統區作,MSMQ. ActiveMQ.RabbitMQ.ZeroMQ.還有一個是新出來的NSQ也是用golang作的。不過這些都是比較大,因此就沒有用,個人這個消息隊列只用到在數據統計方面,其餘的方面沒有涉及,由於需求簡單因此就沒有用那麼複雜的系統,memcached就足夠用了(redis的隊列好像更好不過沒有試驗)。還有一些中型的隊列服務是提供http接口的好比uc開源的隊列服務,還有張宴開源的隊列服務,都挺好的。web

以上就是服務器端用的第三方軟件。android端如今已經上傳到了github上:https://github.com/vasth/zaina 你們感興趣的能夠下載或者運行,各位大牛就不要圍觀了。。。redis

相關文章
相關標籤/搜索