網絡通訊--Python高級

Python高級

網絡通訊(Network Communication)

看似是兩個機器對話,實際上是位於兩個機器上兩個進程在相互收發數據,即網絡通訊也是一種IPC實現,它不只能夠實現一個機器上的兩個進程通訊,還能實現位於不一樣地域的兩臺機器上的進程間通訊web

通訊地址要明確,在計算機網絡世界中,經過IP地址(Internet Protocol Address)表示一個機器在網絡中的位置,經過端口號(Port)區分表示一個機器內部的不一樣進程,端口號是一個無符號整數,取值範圍0-65535,其中1024如下的端口號稱爲熟知端口號,知名的軟件服務一般使用這個範圍的端口號,好比Web服務器使用80,FTP服務器使用21,SMTP服務器使用25,SSH服務使用22等,咱們本身開發的應用程序建議使用1024以上的端口號,以避免跟它們衝突,因此,計算機網絡通訊地址是由IP和端口號聯合構成,兩者缺一不可。瀏覽器

 

要實現正常通訊,除了參與通訊的進程地址要明確以外,還要遵照統一的通訊規則,好比通訊的數據格式,通訊的流程等,這就是所謂的通訊協議服務器

 

通訊至少須要兩個程序參與,被動通訊的一方稱爲服務器端程序(Server),主動發起通訊的一方稱爲客戶端程序(Client),這種通訊模式稱爲C/S模式網絡

計算機網絡常識

計算機網絡分類:局域網(LAN),城域網,廣域網(WAN)、Internet(互聯網)socket

網卡(網絡適配器, Network Adapter):接入某個網絡的硬件入口,俗稱網卡,一個機器能夠安裝多個網卡,用於接入不一樣的網絡學習

主流通訊網絡:電信網絡、計算機網絡、有線電視網絡,電力網絡等spa

計算機網絡是開放式的,構建成本很是低,最簡單狀況下可使用一根1米長的網線將兩臺機器鏈接起來就構成了一個局域網計算機網絡

計算機網絡系統分層結構:code

TCP/IP標準(4層):物理層、網絡層、傳輸層、應用層進程

OSI/RM標準(7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層

 

在計算機網絡系統中,有不少通訊協議,而最重要的通訊協議是TCP和IP協議,一般將全部通訊協議統稱爲TCP/IP協議族

網絡層協議:IP(Internet Protocol)

傳輸層協議:TCP(Transport Control Protocol)、UDP(User Datagram Protocol)

應用層協議:SSH(Secure Shell, 基於TCP, 默認端口號爲22)、HTTP(Hyper Text Transport Protocol,基於TCP,默認端口爲80)、FTP(File Transport Protocol,基於TCP,默認端口21)、SMTP(Simple Mail Transport Protocol,基於TCP,默認端口號25)、POP3(Post Office ,Protocol,基於TCP,默認端口110)、DNS(Domain Name System,基於UDP,默認端口53)等

 

 

擴展學習 :IP地址分類,IPV4,IPv6,子網掩碼,默認網關,DNS服務器

 

基於UDP協議通訊的實現

使用標準庫中的socket模塊實現

 

擴展

  1. str和bytes之間的轉換,調用encode

  2. 將字節轉換爲字符串 用decode方法

  3. 任什麼時候候ping 127.x.x.x(本身)都ping得通,否則就是網卡壞了

  4. 應用層協議是基於傳輸層協議的

  5. 瀏覽器和web服務器的通訊就是HTTP協議

  6. 端口號的兩端不要用,建議使用1024之後的端口

  7. 局域網:最小的計算機網絡

  8. 計算機網絡並非電信或廣電局的網絡,它們的網絡是封閉的,通常用戶不能進行使用

相關文章
相關標籤/搜索