天天看點

網絡程式設計API套接字函數介紹

套接字函數介紹

socket函數,用于建立套接字

SOCKET socket(
	int af,          //指定協定簇,通常為AF_INET即IPv4協定
	int type,		 //套接字類型,SOCK_STREAM(TCP)、SOCK_DGRAM(UDP)、RAW
	int protocol	 //IPPROTO_*
);
           

bind函數,用來綁定套接字到指定位址

int bind(
	SOCKET  s,                      //套接字句柄
	const struct sockaddr* name,	//指向本地位址結構
	int   namelen					//位址結構大小
);
           

connect函數,用來連接配接遠端伺服器

int connect(
	SOCKET s,
	const struct sockaddr* name,
	int  namelen
);
           

listen函數,監聽遠端連接配接

int listen(
	SOCKET  s,
	int      backlog    //指定連接配接隊列大小
);
           

accept函數,用來接收用戶端連接配接

int accept(
	SOCKET s,
	struct sockaddr* name,
	int  namelen
);
           

send函數,用來在已經建立連接配接的套接字上發送資料

int send(
	SOCKET  s,
	const char* buf,	//指向待發送資料的緩沖區
	int len,			//資料長度
	int flags			//指定調用方式,一般設定為0
);
           

send函數,用來向指定位址發送資料

int sendto(
	SOCKET  s,
	const char* buf,	//指向待發送資料的緩沖區
	int len,			//資料長度
	int flags			//指定調用方式,一般設定為0
	const struct sockaddr* to,  //指向目标位址結構
	int tolen        			//位址結構長度
);
           

recv函數,用來在已經建立連接配接的套接字上接收資料

int recv(
	SOCKET  s,
	char* buf,	//指向待接收資料的緩沖區
	int len,			//緩沖區長度
	int flags			//指定調用方式,一般設定為0
);
           

recvfrom函數,用來在已經建立連接配接的套接字上接收資料

int recv(
	SOCKET  s,
	char* buf,	//指向待發送資料的緩沖區
	int len,			//資料長度
	int flags			//指定調用方式,一般設定為0
	struct sockaddr* from,  //指向目标位址結構
	int tolen        			//位址結構長度
);