應用
程式呼叫socket函式來建立乙個能夠進行
網路通訊的
套接字。 1
2
3
4
5
/* 標頭檔案 */
#include
#include
/* 函式原型 */
int
socket(
int
domain,
int
type,
int
protocol);
第乙個 引數指定應用
程式使用的
通訊協議的協議族,對於tcp/ip協議族,該引數置af_inet;
第二個引數指定要建立的
套接字型別,流套接字型別為sock_stream、資料報套接字型別為sock_dgram、原始套接字sock_raw(winsock介面並不適用某種特定的協議去
封裝它,而是由
程式自行處理資料報以及協議首部);
第三個引數指定應用
程式所使用的
通訊協議。此
引數可以指定單個協議系列中的不同
傳輸協議。在internet通訊域中,此
引數一般取值為0,系統會根據
套接字的型別決定應使用的
傳輸層協議。
該函式如果呼叫成功就返回新建立的
套接字的描述符,如果失敗就返回invalid_socket。(linux下失敗返回-1)
套接字描述符是乙個整數型別的值。每個程序的程序空間裡都有乙個
套接字描述符表,該表中存放著套接字描述符和套接字
資料結構的對應關係。該表中有乙個字段存放新建立的
套接字的描述符,另乙個字段存放套接字
資料結構的
位址,因此根據套接字描述符就可以找到其對應的套接字資料結構。每個程序在自己的程序空間裡都有乙個
套接字描述符表但是套接字資料結構都是在
作業系統的
核心緩衝裡。 1
2
3
struct
protoent *ppe;
ppe=getprotobyname(
"tcp"
);
socket listensocket=socket(pf_inet,sock_stream,ppe->p_proto);
《C Primer》讀書筆記 函式
函式定義 函式組成 由函式名 一組運算元 形參,parameter 在一對圓括號中宣告,形參之間由逗號分隔 函式執行的運算 函式體,function body 塊組成和乙個返回型別組成 return type 函式呼叫 使用呼叫操作符進行呼叫 一對圓括號 形參型別必須與實參相同或者實參可被轉換為形參...
C Primer 讀書筆記 函式
void fun initializer listil initializer list定義在同名的標頭檔案中 fun initializer list物件的元素永遠是常量值。string read void print const string void print double 過載print函...
C Primer Plus讀書筆記(七)函式
1 宣告 void fun1 該宣告在c中的意思是不指定引數,但是在c 中是指定引數為void void func2 c 中不指定引數 2 函式引數為陣列區間 stl有資料區間的概念,函式可以使用例如下面的引數 int arr 8 int func const int begin,const int...