winsock API套接口连接的建立

①WSAStartup()检查协议栈的安装情况

②socket()函数创建套接口socket

SOCKET socket (
int af,//地址族AF_INET
int type,//套接口类型SOCK_STREAM(TCP),SOCK_DGRAM(UDP)
int protocol//协议字段IPPROTO_TCP, IPPROTO_UDP
)12345

③bind()绑定本地地址,就是把一个套接口与主机地址和端口号联系起来。没有错误返回0

int bind(
SOCKET s,//套接口
const struct sockaddr FAR* name,//IP地址和端口地址
int namelen//地址参数的长度
)12345

关于地址参数

struct sockaddr_in {
short sin_family;//必须是AF_INET
u_short sin_port;//16位端口号
struct in_addr sin_addr;//IP地址
char sin_zero[8];//一般是0
}123456

④监听连接 listen() 当一个套接口创建好后,然后绑定好,就该调用listen()函数监听连接请求了,没有错误返回0

int listen(
SOCKET s,//已绑定了地址,还没有建立连接的套接口
int backlog//指定正在等待连接的最大队列长度
)1234

⑤请求连接connect() 客户端套接口创建好以后就可以调用这个函数进行连接

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

⑥接收连接accept() 服务器接收客户端的连接请求

SOCKET accept(
SOCKET s,//处于监听状态的套接口
struct sockaddr FAR* addr,//用来存放发出连接的那个客户端的IP地址信息
int FAR* addrlen//客户端接口地址的长度
)12345




相关内容