使用前都需加载SOCKET动态库
int WSAStartup(WORD wVersionRequested,LPWSADATA lpwsadata)
wVersionRequested:版本,MAKEWORD(2.2)
创建socket
SOCKET socket(int af,int type,int protocol)
af:AF_INET
type:
SOCK_STREAM:流,TCP
SOCK_DGRAM:包,UDP
以INVALID_SOCKET判断创建成功
将socket绑定到ip和port
int bind(SOCKET s,const struct sockaddr *name,int len)
成功返回0,失败返回SOCKET_ERROR
sockaddr.sinfamily=AF_INET
.sin_port=端口
.sin_addr.s_addr=inet_addr("127.0.0.1")//inet_ntoa反函数
将socket设为监听模式
int listen(SOCKET s,int backlog)
backlog:等待连接最大队列长度
成功返回0,失败返回SOCKET_ERROR
接受一个连接
SOCKET accept(SOCKET s,struct sockaddr,int len)
sockaddr:返回的客户端信息
返回一个新SOCKET用于通信,原SOCKET用于接收连接
收数据
recv
失败返回SOCKET_ERROR
发数据
send
失败返回SOCKET_ERROR
关闭
closesocket()
shutdown()
连接服务器
int connect(SOCKET s,struct sockaddr,int len)
成功返回0,失败返回SOCKET_ERROR
设置SOCKET选项
getsockopt
setsockopt
WSAGetLastError失败后获取错误码