1. 程式人生 > >day 26 網路知識 01

day 26 網路知識 01

一.    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()