自學Python之路-Python基礎+模塊+面向對象
自學Python之路-Python網絡編程
自學Python之路-Python併發編程+數據庫+前端
自學Python之路-djangohtml
進程通訊的方法有管道、命名管道、信號、消息隊列、共享內存、信號量,這些方法都要求通訊的兩個進程位於同一個主機。可是若是通訊雙方不在同一個主機又該如何進行通訊呢?前端
可是,當咱們使用不一樣的協議進行通訊時就得使用不一樣的接口,還得處理不一樣協議的各類細節,這就增長了開發的難度,軟件也不易於擴展。因而UNIX BSD就發明了socket這種東西,socket屏蔽了各個協議的通訊細節,使得程序員無需關注協議自己,直接使用socket提供的接口來進行互聯的不一樣主機間的進程的通訊。這就比如操做系統給咱們提供了使用底層硬件功能的系統調用,經過系統調用咱們能夠方便的使用磁盤(文件操做),使用內存,而無需本身去進行磁盤讀寫,內存管理。socket其實也是同樣的東西,就是提供了tcp/ip協議的抽象,對外提供了一套接口,同過這個接口就能夠統1、方便的使用tcp/ip協議的功能了。程序員
那麼,在BSD UNIX又是如何實現這層抽象的呢?咱們知道unix中萬物皆文件,沒錯,bsd在實現上把socket設計成一種文件,而後經過虛擬文件系統的操做接口就能夠訪問socket,而訪問socket時會調用相應的驅動程序,從而也就是使用底層協議進行通訊。(vsf也就是unix提供給咱們的面向對象編程,若是底層設備是磁盤,就對磁盤讀寫,若是底層設備是socket就使用底層協議在網中進行通訊,而對外的接口都是一致的)。數據庫
....django