各位看官們,大家好,上一回中咱們說的是基於文件指針進行文件操作的例子,這一回咱們說的例子是socket概述。閒話休提,言歸正轉。讓我們一起talk C栗子吧!
看官們,我們今天主要介紹socket。“前面章回中還在介紹文件操作,怎麼突然來說這個叫socket的東西呢?”這裡有看官在問了,看官莫急,我們之所為介紹socket,是因為它有點類似文件操作中的文件描述符。說類似有點不太准確,其實socket本質上就是文件描述符。我們可以使用read,write等系統調用來操作socket。當然了,系統也為socket提供了專門的系統調用,我們在後面章回中將會介紹這些專門的系統調用。
我們在這裡介紹socket還有另外一種原因,大家還記得在介紹文件操作時,我們剛剛介紹完了進程以及進程通信相關的知識。其實socket也是一種進程間的通信方式。因此,大家可以理解為,我們是在介紹另外一種進程間通信的方式。
說了這麼多,讓我們掀開socket的面紗來看看它的真面目。socket也叫套接字,它是一種進程間通信的方式。它是從Unix上發展而來,已經廣泛應用於Linux和Windows等其它系統。本地計算機中的兩個進程可以通過socket進行通信,這點和其它進程間的通信方式相同。除此之外,它最主要的作用是,在網絡中不同計算機上的進程間進行通信,簡單點說,它是網絡進程間的通信方式。它的這個特點令其它進程間的通信方式望塵莫及。
socket好比一座橋梁,它連接著網絡中不同的計算機,這些計算機可以借助socket來進行通信。我們只需要按照規則使用socket就可以,而不需要關注其中的通信細節。我們舉一個常見的例子來說明。我們經常使用浏覽器來訪問網頁,此時,本地電腦中的浏覽器會和網頁所在的服務器之間建立一個連接。這個連接就是通過socket建立的,我們浏覽網頁時,網頁服務器會通過該連接把數據傳輸給浏覽器,這樣我們就能看到網頁上面的內容了。
各位看官,關於socket的例子咱們就說到這裡。欲知後面還有什麼例子,且聽下回分解 。