day34 Pyhton 網路程式設計
阿新 • • 發佈:2018-12-02
一今日內容
# 函式 # 面向物件 # 進階 # 網路程式設計 4 # 併發程式設計 6-7 # 概念 # 網路基礎 # 區域網的概念 # 交換機和路由器的工作流程 # ip地址 # mac地址 # 子網掩碼 # 閘道器ip # osi網路7層模型 # arp協議 # tcp協議/udp協議 # 介紹socket # 最基本的socket通訊
# 兩臺機器之間的通訊 : 網路 # 網路開發的架構 : # C/S # client # server# 例子 : 百度\愛奇藝app\淘寶app\天貓\京東\迅雷\qq\微信 # B/S # browser 瀏覽器(chrom,火狐,360,sogou,IE) # server # 所有的B/S架構也是C/S架構的 # B/S架構更好 # 瀏覽器解放了你電腦上的圖示 # web程式設計 都是B/S架構的 # 兩臺機器之間的通訊 # 網絡卡 - mac地址 - 實體地址 # 如果是多臺機器之間通訊? # 交換機 # 11010198808082288(人) -- mac地址(機器) # 不能用一個mac地址來找尋全中國的機器 #每臺機器在網路中除了有一個mac地址生效 # 還有一個ip地址,虛擬地址,是一個隨著時間/空間變化而改變的 # ipv4 0.0.0.0 - 255.255.255.255 # ipv6 0.0.0.0.0.0 - 255.255.255.255.255.255 # 127.0.0.1 # 0.0.0.0 # 交換機的工作方式 # 單播\廣播\組播 # arp協議 : 通過ip找mac # 交換機-->廣播 將要找的機器的資訊發給區域網內的所有機器 # 交換機-->單播 返回要找機器的那臺機器 # 公網ip : 無論你在哪兒都可以使用的ip # 0.0.0.0 - 255.255.255.255 全球的所有ip地址的集合# 152.168.0.1 - 對應著一個固定的服務 # 內網ip : 校園網 公司的員工網 # 保留欄位 專門給內網使用的,公網ip永遠不會佔用內網ip的地址 # 192.168.0.1 - 192.168.255.255 # 172.168.0.1 - 172.168.255.255 # 10.0.0.1 - 10.255.255.255
# ip協議 : # ipv4 : 4位點分十進位制 # ipv6 : 6位:分十六進位制 # arp協議 : 通過ip找mac # 交換機的工作機制 :只認識mac地址,廣播\單播\組播 # 路由器的工作機制 :路由表,認識ip地址 # 什麼是閘道器ip # 什麼是子網掩碼 # 自己的ip地址 # 兩臺機器聯絡在一起了 # 很多和網路相關的應用 : 發給我的qq\微信\飛秋 # 埠 0-65535 # 通過某一個埠定位到機器上的某一個應用 # 每一臺機器有很多個埠 0-65535 # 8000以後 # 3306 mysql資料庫 # 8080 埠 # 22 埠 作業系統ssh命令 # 傳遞資訊的方式 # TCP協議 打電話 : 可靠的\面向連線的\慢 # UDP協議 發簡訊 : 不可靠的\無連線的\快 # 計算機 : 五層 # 應用層 : # socket :承包了下面四層複雜的資料包的封裝 # 傳輸層 : tcp/udp 埠 四層路由器 四層交換機 # 網路層 : ip地址 三層路由器 三層交換機 # 資料鏈路層 : mac arp協議 二層交換機 網絡卡 # 物理層 # 二層交換機 : # 資料鏈路層 # 物理層 # 三層路由器 : # 網路層 # 資料鏈路層 # 物理層
sever
import socket sk=socket.socket() sk.bind(('192.168.11.225',11000)) sk.listen() conn,addr = sk.accept() conn.send('喂'.encode('utf-8')) print('--->',addr) msg = conn.recv(1024) print(msg.decode('utf-8')) conn.close() sk.close()
client
import socket sk =socket.socket() sk.connect(('192.168.11.225',11000)) msg = sk.recv(1024) print(msg.decode('utf-8')) sk.send('你好'.encode('utf-8')) sk.close()