TCP IP系列(二)套接字使用函式的引數

2021-08-21 11:26:04 字數 935 閱讀 6590

建立套接字:

int socket(int domain,int type,int protocol);
domain:套接字中使用的協議族資訊      type套接字資料傳輸型別資訊   protocol 計算機間通訊使用的協議組資訊

建立成功返回檔案描述符,失敗返回 -1

domain有以下幾種取值:

pf_inet                 ipv4網際網路協議組族

pf_inet6               ipv6網際網路協議族 

pf_local              本地通訊的unix協議族

pf_packet            底層套接字的協議族

pf_ipx                   ipx novell協議族

type:套接字的資料傳輸型別(面向連線,面向訊息)

面向連線的傳輸型別:特點,傳輸過程中資料不會消失,按序傳輸資料,傳輸的資料不存在資料邊界,

傳輸的資料不存在資料邊界怎樣理解?''傳輸資料的計算機通過3次呼叫write函式傳遞了100位元組的資料,但接收資料的計算機僅通過一次read函式呼叫就接收了全部100個位元組"       

面向連線的套接字會根據接收端的狀態傳輸資料,如果快取寫滿會停止傳輸,如果傳輸出錯還會提供重傳服務(出錯對的機率很小)

面向訊息的的套接字:特點,強調快速傳輸而非傳輸順序,傳輸的資料可能丟失也可能損壞,傳輸的資料有資料邊界,限制每次傳輸的資料大小     存在資料邊界意味著接收資料的次數和傳輸次數相同

protocol:計算機間通訊使用的協議組資訊(該引數決定最終採用的協議)

傳遞前兩引數即可建立所需套接字,所以大多數時候可以向第三個引數傳遞0,除非遇到以下這種情況:「同一協議族中存在多個資料傳輸方式相同的協議」         資料傳輸方式相同,但協議不同,此時需要通過第三個引數具體指定協議資訊

18 3 3 套接字位址

每個套接字域都有獨特的位址格式。對於乙個 af unix 套接字來說,它的位址是由乙個包含在 sys un.h 標頭檔案裡的 sockaddr un 結構描述的。該結構的定義為 struct sockaddr un 因為不同型別的位址都需要傳遞到對套接字程序處理的系統呼叫裡去,所以定義各種位址格式時...

Unix網路程式設計(二)套接字位址結構常用函式

註明 本文為學習經驗的總結,絕大部分引用自unix網路程式設計卷一,有錯誤或者交流意見請發郵件至yb.zhaoyubo gmail.com.非常感謝 記憶體中有兩種方法儲存位元組 一種是將低序位元組儲存在起始位置,稱為小端位元組序。一種是將高序位元組村出來起始位置,稱為大端位元組序。網際協議使用大端...

VS2015套接字程式設計斷開套接字連線

當服務端和客戶端結束了傳送接收資料之後,兩端連線的套接字就可以斷開了。斷開已連線的套接字主要分為三個步驟 首先關閉套接字的傳送和接收資料功能,接下來關閉套接字,最後釋放winsock動態庫資源。通過shutdown 函式關閉套接字的傳送和接收資料的功能。該函式的格式為 int shutdown so...