目錄服務器
咱們知道兩個進程若是須要進行通信最基本的一個前提是可以惟一標示一個進程,在本地進程通信中咱們能夠使用PID來惟一標示一個進程,但PID只在本地惟一,網絡中的兩個進程PID衝突概率很大,這時候咱們須要另闢它徑了,咱們知道IP層的IP地址能夠惟一標示主機,而TCP層協議和端口號能夠惟一標示主機的一個進程,這樣咱們能夠利用IP地址+協議+端口號惟一標示網絡中的一個進程。網絡
可以惟一標示網絡中的進程後,它們就能夠利用Socket進行通訊了,什麼是Socket呢?咱們常常把Socket翻譯爲套接字,Socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層複雜的操做抽象爲幾個簡單的接口供應用層調用已實現進程在網絡中通訊。socket
Socket起源於UNIX,在Unix一切皆文件哲學的思想下,Socket是一種"打開—讀/寫—關閉"模式的實現,服務器和客戶端各自維護一個"文件",在創建鏈接打開後,能夠向本身文件寫入內容供對方讀取或者讀取對方內容,通信結束時關閉文件。翻譯