Python基礎—16-網路程式設計
阿新 • • 發佈:2018-12-11
網路程式設計
相關概念
- OSI七層模型:開放系統互連參考模型。它從低到高分別是:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。
- TCP/IP:在OSI七層模型的基礎上簡化抽象出來的一套網路協議簇,現在得到了廣泛使用。
- TCP:傳輸控制協議
- 有連線的,資料是安全有保障的
- 傳輸的速度稍慢,三次握手、四次揮手、資料檢查
- UDP:使用者資料報協議
- 無連線的,資料是不可靠的
- 傳輸的速度比較快
- IP地址:唯一的一臺計算標識
- 檢視:ipconfig
- ping:檢查網路連通性
- 使用:ping IP/域名
- 埠號:每個應用可以擁有唯一的埠號
- 範圍:0~65535
- 系統:0~1024,常用的應用所佔用
- http:80
- https:443
- smtp:25
- ftp:21
- ssh:22
- mysql:3306
- redis:6379
- 自己:大於1024
- 網路程式設計核心:
- IP + 埠
- 庫:socket
TCP協議
- 說明:面向連線、資料可靠(校驗重發)、三次握手、四次揮手、傳輸速度較慢
- 原理:見
tcp.png
- 示例:見
01-tcp-http.py
- TCP協議的伺服器與客戶端:見
02-tcp-server.py
與03-tcp-client.py
UDP協議
- 說明:面向無連線的、資料不可靠、傳輸速度較快,適應於對資料要求不嚴格的情況
- 原理:見
udp.png
- 示例:模擬飛秋髮送資料,見
04-udp-feiqiu.py
- UDP協議的伺服器與客戶端:見
05-udp-server.y
與06-udp-client.py
StringIO與BytesIO
- 說明:這些型別的物件可以與open返回的物件一樣操作,但是操作的記憶體中的資料
- 方法:getvalue用於獲取所有資料