---恢復內容開始---
importview codejson
from datetime import
datetime,date
class
myjson(json.jsonencoder):
defdefault(self, o):
ifisinstance(o,datetime):
return o.strftime('
%y-%m-%d %x')
elif
isinstance(o,date):
return o.strftime('
%y-%m-%d')
else
:
return
super().default(self,o)
res =
print(json.dumps(res,cls=myjson))
24小時不間斷的提供服務
在有需要的時候去找伺服器
網路程式設計的發展史:
任何先進的技術都是**於軍事
要想實現遠端通訊第乙個具備的條件就是:物理連線介質
計算機與計算機之間要想實現通訊除了要有物理鏈結介質還要有一套公共的規範/協議。
應用層表示層
會話層傳輸層
網路層資料鏈路層
物理連線層
基於電訊號傳輸010101的二進位制資料
1.是規定了電訊號的分組方式
2.規定了每台連線入網際網路的計算機都必須配有網絡卡。
網絡卡上刻有世界上獨一無二的編號
12位16進製制
前6位廠家編號
後6位流水線編號
稱為mac位址
ps:將上面2點簡稱為乙太網協議
交換機:
基於乙太網進行通訊
不能跨區域網通訊
網際網路是由n個區域網彼此鏈結而成的。
ip協議
規定了每台連線入網際網路的計算機必有乙個ip位址
特點:點分十進位制
2個版本:ipv4,ipv6,為什麼呢,因為ipv4用光了
ip位址是動態分配的。
ip位址是唯一標識一台連線入網際網路的計算機
tcp/udp都是基於埠工作的傳輸協議
計算機與計算機之間其實是計算機上的應用程式與應用程式之間的通訊
埠:用來唯一標識一台計算機上的某個應用程式。
埠的範圍:0--65535
0到1024是作業系統預設要使用的
建議使用8000後面的因為8000前面的可能有應用程式以及使用了,所以最好8000後面的不起衝突。
mysql 3306
redis 6379
django 8000
flask 5000
ip+埠:用來唯一標識一台連線入網際網路的計算機上的某個應用程式
埠號是動態分配的
也稱流式協議,可靠協議
為什麼說是可靠協議,因為tcp協議有個反饋機制,就是傳送資料後必須要有響應,如果沒有,不會先刪除記憶體的資料,會在一定的時間內每個一段時間傳送一次。等得到響應後才會將記憶體的資料清除。
三次握手建立連線
三次握手的過程實際上實在確認我發的你能收到,你發的我也能收到,從而保證資料傳輸的的可靠性,
鏈結是乙個虛擬的概念,不實際存在,只要三次握手成功即表示連線建立成功!
問題是三次握手時的確能保障資料傳輸是可靠的,那麼握手後的資料傳輸要如何保證傳輸成功呢?
tcp協議要求在傳送資料後,必須接收到對方的回覆資訊才能確認資料成功傳送,如果一段時內沒有收到回覆資訊,會自動重新傳送,如果重試的次數過多則表示鏈結可能已經中斷!
四次揮手斷開連線:
四次揮手的目的是保證雙方的資料傳輸已經全部完成,同樣是為了保證資料的完整性
總結
其優點很明顯:能夠保證資料傳輸是完整的
缺點:由於每次都需要傳輸確認資訊,導致傳輸效率降低
場景:多用於必須保證資料完整性的場景,例如文字資訊,支付資訊等!
---恢復內容結束---
網路程式設計初識
在日常生活中我們常見 應用程式,如qq,網盤,等 還有在瀏覽器上執行的 它們分別基於cilent server架構和browser server架構。c s架構 客戶端與伺服器端架構。b s架構 瀏覽器端與伺服器端架構。計算機在網路中的位置 我如何能夠準確地找到一台計算機,並且和它通訊呢 每一台計算...
初識網路程式設計
python高階 網路程式設計 網路通訊中最重要的就是網路通訊協議。當今網路協議有很多,區域網中最常用的有三個網路協議 microsoft的netbeui novell的ipx spx和tcp ip協議。應根據需要來選擇合適的網路協議。比如你在家裡給遠方的朋友使用qq打 或者發訊息說明 網路就是一種...
初識網路程式設計
一 開發軟體架構 c s架構 c 客戶端 s 服務端 b s架構 b 瀏覽器 s 服務端 b s本質也是c s,服務端24小時不間斷提供服務,只要誰來就服務誰,而客戶端是自己想體驗時就去體驗,隨時都可以去。遠端通訊的必備條件 1.物理連線介質 2.協議 二 七層協議 物理層 實現計算機與計算機的物理...