套接字函數介紹
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 //位址結構長度
);