socket程式設計基礎

2021-04-12 18:57:28 字數 618 閱讀 7533

對於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 基於...