1.C/S架構: C/S架構:客戶端(client)/服務端(server)架構,這種架構也是從用戶層面(也可是物理層面)來劃分的.這裡客戶端一般指需先安裝再執行的應用程式.對操作系統依賴性較大;服務端即是這類程 序對應的伺服器. B/S架構:browser/server,瀏覽器端與伺服器端架構.也 ...
1.C/S架構:
C/S架構:客戶端(client)/服務端(server)架構,這種架構也是從用戶層面(也可是物理層面)來劃分的.這裡客戶端一般指需先安裝再執行的應用程式.對操作系統依賴性較大;服務端即是這類程
序對應的伺服器.
B/S架構:browser/server,瀏覽器端與伺服器端架構.也是C/S架構的一種,只是這個客戶端不需要大家去安裝什麼應用程式,只需在瀏覽器上通過HTTP請求伺服器端相關的資源(網頁資源).
軟體cs架構:瀏覽器,qq,微信,陌陌等等
硬體cs架構:印表機
2. 網路通信的整個流程
集線器:將所有電腦聯通起來
交換機:升級版的集線器
網卡:接收處理電信號
Mac地址:物理地址: 1C-1B-0D-74-43-9A 前三位廠商編號 後三位生產流水號,全球唯一的,也就是你網路設備的身份證號
Ip地址 IPv4 地址: 192.168.12.11 劃分廣播域
Ip地址段:192.168.12.0 --- 192.168.12.255 同一ip地址段,稱為同一子網,以廣播的形式通信.192.168.0.0 -- 192.168.255.255
子網掩碼:計算是否屬於同一網段,同一子網 255.255.255.0
目標ip地址是:
192.168.12.16
11000000.10101000.00001100.00010000
255.255.255.0
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000
192.168.12.0
DHCP協議:自動獲取IP地址
Arp協議:通過ip地址獲取mac地址
路由協議:找到一個路由轉發的最優路徑
3.初識socket
服務端
#導入socket模塊 import socket #創建socket對象,創建了一個手機 server = socket.socket() #給程式設置一個ip地址和埠號,買了個手機卡 ip_port = ('192.168.12.11',8002) #綁定ip地址和埠,插卡 server.bind(ip_port) #監聽ip地址和埠,簡稱開機 server.listen() #等待建立連接, conn是連接通道,addr是客戶端的地址 conn,addr = server.accept() #服務端通過conn連接通道來收發消息,通過recv方法,recv裡面的參數是位元組(B),1024的意思1024B=1KB from_client_msg = conn.recv(1024) print('高旺說:',from_client_msg.decode('utf-8')) #回覆消息:通過send方法,參數必須是位元組類型的, conn.send('約嗎'.encode('utf-8')) #關閉通道,關電話,通過close方法 conn.close() #關閉socket對象,關機 server.close()
客戶端
#導入socket import socket #創建一個socket對象 client = socket.socket() #找到服務端的ip地址和埠 server_ip_port = ('192.168.12.11',8002) #連接服務端的應用程式,通過connect方法,參數是服務端的ip地址和埠,打電話 client.connect(server_ip_port) #發消息,用的send方法,但是調用者是client的socket對象 client.send('約嗎?'.encode('utf-8')) from_server_msg = client.recv(1024) print('高旺的女朋友說:',from_server_msg.decode('utf-8')) client.close()