Python基礎—16-網絡編程
阿新 • • 發佈:2018-09-21
val 網絡層 標識 http 數據報 傳輸控制協議 檢查 會話 占用
網絡編程
相關概念
- 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用於獲取所有數據
Python基礎—16-網絡編程