软件开发架构与网络编程
軟件開發架構
1.什么是軟件開發架構
? ? ? ? 在編寫項目之前需要遵循的代碼層面上的規范(運行流程、環節、步驟)
2.軟件開發架構分類
? c/s架構:
client / server? ? ? ? 客戶端 / 服務端
eg:客戶端就是各種app軟件,用戶可以通過客戶端去體驗對應服務器的功能
? b/s架構:
broswer / server? ? ? ? 瀏覽器 / 服務器
eg:用戶通過瀏覽器來體驗對應服務器的服務功能,不需要下載app客戶端
3.架構優劣
cs架構
? ? ? ? 優:通過下載客戶端app可以在app軟件中高度定制相關服務
? ? ? ? 劣:需要先下載客戶端占用存儲也比較繁瑣
bs架構
? ? ? ? 優:不需要下載客戶端直接通過瀏覽器就可以快速體驗服務
? ? ? ? 劣:定制一些功能的話較為繁瑣
4.架構發展趨勢
? ? ? ? 發展趨勢必然是統一接口原則,如通過微信、支付寶等軟件里的很多小程序可以直接體驗這些小程序的服務,c/s和b/s交錯使用 避免各自的弊端。(當然一切都是利益至上)
網絡編程簡介
1.什么是網絡編程
? ? ? ? 網絡編程是基于互聯網編寫的代碼,可以實現遠程數據交互,本質就是解決計算機之間數據的遠程交互,最早起源于美國軍方。
2.網絡編程的要求
? ? ? ? 計算機之間實現數據遠程傳輸的必要條件就是得通過物理連接介質。
OSI七層協議
? ? ? ? 計算機在進行數據交互的標準體系,它將網絡分為七成從低到高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層
物理層:
????????兩個硬件之間的通信,常見的物理媒介有光纖、電纜來保證物理連接介質
數據鏈路層:
? ? ? ? 1.規定了電信號的分組方式
? ? ? ? 2.規定了每臺計算機都必須有一塊網卡 上面有電腦的以太網地址(mac地址)
? ? ? ? 3.以太網地址:由12位16進制數組成 前六位(產商編號) 后六位(生產流水線號)
ps:以太網地址相當于電腦的身份證號 可以根據該地址查找計算機 基于以太網地址實現數據交互。
網絡層:
? ? ? ? 1.IP協議規定了任何接入互聯網的計算機都必須有一個IP地址
? ? ? ? 2.IP地址:
? ? ? ? ? ? ? ? IPV4:點分十進制
? ? ? ? ? ? ? ? 最小:0.0.0.0
? ? ? ? ? ? ? ? 最大:255.255.255.255
? ? ? ? ? ? ? ? IPV6:可以給每一粒沙子分一個IP地址
? ? ? ? 3.IP具有定位特征(ip代理隱藏)
傳輸層:
? ? ? ? 1.PORT協議
? ? ? ? ? ? ? ? 端口協議規定了一臺計算機上每一個正在運行的應用程序必須有一個端口號,用于管理
? ? ? ? 2.端口號范圍:0----65535;端口號是動態分布的? ?同一時間同一臺電腦端口號不能沖突
? ? ? ? ? ? ? ? 0--1024:一般操作系統內部需要使用
? ? ? ? ? ? ? ? 1024--8000:一般是常見的軟件使用
? ? ? ? ? ? ? ? 8000+:可用于我們平時寫代碼
? ? ? ? 3.當關閉應用程序則端口號也會收回當再有程序啟動的時候再進行分配
? ? ? ? 4.IP+PORT:用于標識全世界任意一臺接入互聯網的計算機上在某一個在執行的程序
? ? ? ? ? ? ? ? IP:用于標識全世界任意一臺接入互聯網的計算機
? ? ? ? ? ? ? ? PORT:用于標識全世界任意一臺接入互聯網的計算機上某個在執行的程序
? ? ? ? 5.網址
? ? ? ? ? ? ? ? 網址(URL):統一資源定位符 ,本質就是IP+PORT
? ? ? ? ? ? ? ? ? ? ? ? eg:百度網址 www.baidu.com? ? ? ? 124.12.11.232
? ? ? ? ? ? ? ? ps:只是把IP+RPORT地址換成了一種讓人更容易記的形式。
總結
以上是生活随笔為你收集整理的软件开发架构与网络编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11g rman实例,ora
- 下一篇: c语言常用的100个程序,100个经典C