網友評分: 5分
SailPlayer是一款非常簡單的P2P網絡傳輸軟件,該軟件耗費個人不少精力時間而研發,如果你是一名對P2P網絡有研究的個人開發者,相信會對這套系統感興趣。
1、完全沒有任何中間服務器
2、支持IPV6和IPV4
3、當任意2臺設備有“外網傳輸”交集(包括內網和外網交集),將會彼此共享資源
4、類似磁力鏈接,BT的傳輸模式,但是內網用戶也可使用,類似迅雷;但是這個的區別是會自動推送給其他用戶!
5、在傳輸,存儲,運算,代碼等方面,都盡量做到符合使用和精簡,客戶端程序只有1MB左右
6、支持多國語言切換
7、自己摸索
P2P簡介:
目前互聯網多為單向數據訪問,比如在訪問任何網站,比如京東,天貓,微信,愛奇藝等,都有中間服務器承載運行,假如某日出現異常,那么數據可能會有所丟失,并且隨著用戶數量增多,網站會越來越慢
因此出現了網絡數據的分布式結構,也就是P2P網絡!眾所周知的技術和產品有:BT下載,磁力鏈接, 電驢,比特幣,迅雷,百度網盤的離線下載等等,都有運用相關技術
P2P網絡構建原理:
【服務器A】運行主程序;【用戶A】運行主程序并手動鏈接至【服務器A】;【用戶B】運行主程序并手動鏈接至【服務器A】;那么【用戶A】和【用戶B】將會自動做出交集數據共享!
此時【服務器B】也運行主程序,【用戶A或B】對【服務器B】有任何交集,那么【服務器A,B】,【用戶A,B】的資源將會一起合并共享,此為最簡易的P2P實現原理
數據安全傳輸協議:
在P2P網絡中,比較重要的是數據處理和合并的時候,數據的完整性,以及網絡傳輸的被篡改,數據存儲的丟失等,因此在byte或bit的層面,最好是自定義自己的協議,達到簡單可控,并可完整的進行校驗!
以及在傳輸中做一些加密是絕對必要的!
數據存儲:
不是所有的數據存儲都一定要使用最大最強的數據庫,這對很多新人來說是個盲點!理論上應該尋找適合自己的存儲方式才是正確之道!
個人在簡易化或者避免部署的麻煩情況下,一般采用SQLite(當然更簡單可直接寫入IO);數據存儲格式要遵循以“小”,“剛剛好”為原則,在運算和存儲傳輸的過程中有莫大的幫助
以上為簡單介紹下執行的原理以及構建時候的思維,設計技術有很多很多,比如客戶端UI界面,傳輸優化和代碼,加密實現等等,審核過后會抽空,一一將這些技術以理論和代碼的方式講解下,分享給大家
標簽: SailPlayer 網絡傳輸