基本Socket通訊流程

2022-04-09 22:58:09 字數 834 閱讀 6179

1.初始化socket (用於監聽)

1)初始化

socket s ;

s =  socket ( ... )

2)繫結

bind(s, ...);

3)監聽

listen(s, ...);

2.建立連線

1)檢查狀態

int ret = select ( ... ) ;

if ( ret > 0 ) {

//新連線

2)建立新連線 (如果有客戶端請求連線)

temp = accept ( ... );   // 注意,此時並不使用原來的socket,而是新建乙個socket (temp)來跟客戶端通訊

3.收發資料

1)檢測讀入資料

int ret = select ( ... )

if ( ret > 0 ) {

// 有新資料

2)接收資料

ret =  recv ( ...);

3)檢查傳送資料

int ret = select ( ... ) ;

4)傳送資料

ret = send ( ... );

1.初始化

1)建立socket

s = socket ( ... )

2)繫結埠

bind(s , ... ) ;   // 客戶端的ip位址和埠都不需要固定,可由系統自動分配。因此可以不使用bind繫結埠與協議。

2.建立連線

connect( ... )

3.收發資料

同服務端

4.關閉連線

來自為知筆記(wiz)

socket通訊的基本流程

寫在前面 本部落格內容主要為socket通訊的c語言實現,與tcp ip分類下的文章為對應互補內容。由於理論知識已在對應內容中有所介紹,因此本部落格中主要是 實現 include pragma comment lib,wsock32.lib int main int argc,char argv c...

socket通訊流程

原文 對 tcp ip udp socket 程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission...

socket通訊流程

socket是 開啟 讀 寫 關閉 模式的實現,以使用tcp協議通訊的socket為例,其互動流程大概是這樣子的 伺服器根據位址型別 ipv4,ipv6 socket型別 協議建立socket 伺服器為socket繫結ip位址和埠號 伺服器socket監聽埠號請求,隨時準備接收客戶端發來的連線,這時...