1. 程式人生 > >Python之網路程式設計(一)

Python之網路程式設計(一)

CS架構 客戶端服務端架構

服務端:提供服務的

客戶端:享受服務的

BS架構:瀏覽器和服務端

 

網路通訊流程:

集線器:將所有連線上它的電腦全部聯通起來

交換機:升級版的集線器

網絡卡:接收處理電訊號

Mac地址:網路裝置的全球唯一標示,又稱為實體地址

廣播  單播

廣播風暴

Ipv4地址:4個點分十進位制 還有ipv6

作用:劃分廣播域

子網掩碼:計算ip地址段,或者判斷ip地址是否屬於同一地址段

DHCP協議:自動獲取ip地址

DNS:域名解析

Arp協議:通過ip地址獲取mac,因為ip地址不固定,mac是全球唯一的

路由器:轉發訊息,管理內網

路由協議:計算路由轉發的最優路徑

埠:標示電腦上某個應用程式

Ip地址+埠 = 能夠唯一鎖定一臺電腦和這個電腦上的某個應用程式

閘道器:把關用的,意思就說所有對外的請求都要經過閘道器

NAT技術:網路地址轉換,內網ip地址轉換為公網或者說外網的ip地址

 

Socket:用於網路通訊的模組,獨立於語言

#服務端

import socket

Server = socket.socket()
Ip_port = ('192.168.12.11', 8003)  # 127.0.0.1 本機的迴環地址
Server.bind(ip_port)  # 繫結ip地址和埠
Server.listen()  #
監聽ip Conn, addr = server.accept() From_client_msg = conn.recv(1024) Print(from_client_msg.decode('utf - 8')) Conn.send('你好'.encode('utf - 8')) Conn.close() Server.close()
#客戶端

import socket

Client = socket.socket()
Ip_port = ('192.168.12.11', 8003)
Client.connect(ip_port)
Client.send(''.encode('
utf-8')) From_server_msg = client.recv(1024) Print(from_server_msg.decode('utf-8')) Client.close()