對於socket在這裡我不想究其歷史,我只想說其時它是一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些api函式就能實現分布在不同主機的相關程序之間的資料交換.
socket中首先我們要理解如下幾個定義概念:
二是埠號:用來標識本地通訊程序,方便os提交資料.就是說程序指定了對方程序的網路ip,但這個ip只是用來標識程序所在的主機,如何來找到執行在這個主機的這個程序呢,就用埠號.
三是連線:指兩個程序間的通訊鏈路.
四是半相關:網路中用乙個三元組可以在全域性唯一標誌乙個程序:
(協議,本地位址,本地埠號)
這樣乙個三元組,叫做乙個半相關,它指定連線的每半部分。
五是全相關
乙個完整的網間程序通訊需要由兩個程序組成,並且只能使用同一種高層協議。也就是說,不可能通訊的一端用tcp協議,而另一端用udp協議。因此乙個完整的網間通訊需要乙個五元組來標識:
(協議,本地位址,本地埠號,遠地位址,遠地埠號)
這樣乙個五元組,叫做乙個相關(association),即兩個協議相同的半相關才能組合成乙個合適的相關,或完全指定組成一連線。
介紹完基礎知識,下面就介紹一些api函式:
好了,socket基礎我們就介紹到這裡
socket程式設計基礎
對於socket在這裡我不想究其歷史,我只想說其時它是一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些api函式就能實現分布在不同主機的相關程序之間的資料交換.socket中首先我們要理解如下幾個定義概念 二是埠號 用來標識本地通訊程序,方便os提交資料.就是說程序指定了對方程序的網路ip,但這個...
Go基礎程式設計 Socket程式設計
socket起源於unix,而unix基本哲學之一就是 一切皆檔案 都可以用 開啟open 讀寫write read 關閉close 模式來操作。socket就是該模式的乙個實現,網路的socket資料傳輸是一種特殊的i o,socket也是一種檔案描述符。socket也具有乙個類似於開啟檔案的函式...
Linux程式設計基礎 Socket程式設計
linux下的socket程式設計大體上包括tcp socket udp socket即raw socket這三種,其中tcp和udp方式的socket程式設計用於編寫應用層的socket程式,是我們用得比較多的,而raw socket則用得相對較少,不在本文介紹範圍之列。tcp socket 基於...