一. c/s 架構: 客戶端(client)/服務端(server)架構 服務端: 提供服務的 客戶端: 享受服務的 B/S 架構:瀏覽器(browser)/服務端(server) 軟體cs架構:瀏覽器,qq,微信,陌陌等等 硬體cs架構: 印表機 製圖工具: visio, powerdesigne ...
一. c/s 架構: 客戶端(client)/服務端(server)架構 服務端: 提供服務的 客戶端: 享受服務的 B/S 架構:瀏覽器(browser)/服務端(server) 軟體cs架構:瀏覽器,qq,微信,陌陌等等 硬體cs架構: 印表機 製圖工具: visio, powerdesigner(現在公司主要在用),eu 二. 網路通信的整個流程*** 1.集線器: 將所有的電腦聯通起來, 2.交換機: 升級版的集線器 3.網卡: 接收,處理電信號 4. Mac地址= 物理地址: 1C-1B-0D-74-43-9A 前三位是廠商編號,後三位生產流水號,全球唯一的也就是你網路設備的身份證號 5.ip地址: iPv4 4個點分十進位 地址:192.168.12.11 劃分廣播域 ip地主段:192.138.12.0 - 192.168.12.255 同一ip地址段,稱為同一子網,一廣播的形式通信 6.子網掩碼: 計算是否屬於同一網段,同一子網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 7.DHCP協議:自動獲取ip地址 8.Arp協議:通過ip地址獲取mac地址 9.功能變數名稱: www.jd.com 也就是網址 10.DNS 服務端:{' www.jd.com':173.16.49.0} 11.路由器:轉發消息,管理內網 路由協議:計算路由轉發的最優路徑 12.埠:表示電腦上的某個應用程式 ip地址+埠 = 能夠唯一鎖定一臺電腦和這個電腦上的某個應用程式 13.網關:把關用的,所有對外的請求都要經過網關 NAT技術:網路地址轉換,內網ip地址轉換為公網或者說外網的ip地址 三.socket簡單的操作***** socket:用於網路通信的模塊,獨立的語言,各個語言都有這個. 服務端:
# 導入socket模塊 import socket # 創建socket對象,相當於創建了一個手機 server =socket.socket() #給程式設置一個ip地址和埠號,相當於買個手機卡 ip_port = ('127.0.0.1', 9999) # 綁定ip地址和埠,相當於插卡 server.bind(ip_port) # 監聽ip地址和埠,簡稱開機 server.listen() # 等待建立連接,conn 是連接通道, addr是客戶端的地址 conn, addr = server.accept() # 服務端通過conn連接通道來收發消息,通過recv方法,recv裡面的參數是位元組(B),2048的意思2048B=1KB from_client_msg = conn.recv(2048) print('客戶端說:', from_client_msg.decode('utf-8')) # 回覆消息:通過send方法,參數必須是位元組類型的 conn.send('喜歡'.encode('utf-8')) #關閉通道 conn.close() #關閉socket 對象,關機 server.close()
客戶端
# 導入socket 模塊 import socket # 創建一個socket對象 client = socket.socket() # 找到服務端ip地址和埠 server_ip_port = ('127.0.0.1', 9999) # 連接服務端的應用程式,通過connect方法,參數是福區段的ip地址和埠,打電話 client.connect(server_ip_port) # 發消息,用send方法,但是點用著是client的socket對象 client.send('在幹嘛呢'.encode('utf-8')) from_server_msg = client.recv(2048) print('服務端說:', from_server_msg.decode('utf-8')) client.close()