1、服务器端
- 创建套接字--------SOCKET socket( int af, int type, int protocol);
- 绑定套接字到本地地址和端口上------int bind( __in SOCKET s, __in const struct sockaddr* name, __in int namelen);
- 将套接字设为监听模式,准备接受请求--------int listen( __in SOCKET s, __in int backlog);
- 等待客户端请求,当接受连接请求后,返回一个新的对应于此次连接的套接字------SOCKET accept( __in SOCKET s, __out struct sockaddr* addr, __in_out int* addrlen);
- 利用accept函数返回的套接字(里面有客户端的IP地址和端口号)进行通信-----发送信息int send(
SOCKET s,
const char FAR* buf,
int len,
int flags
); --------------------接受信息int recv( SOCKET s, char FAR* buf, int len, int flags); - 等待另一客户端请求
- 关闭套接字
2、客户端
- 创建套接字-----socket
- 向服务器发出连接请求-----int connect( SOCKET s, const struct sockaddr FAR* name, int namelen);
- 进行通信----send 和 recv
- 关闭套接字
二、基于UPD(面向无连接)的socket
1、服务器端
- 创建套接字-----socket
- 绑定地址和端口------bind
- 数据处理------接收数据 int recvfrom(
__in SOCKET s,
__out char* buf,
__in int len,
__in int flags,
__out struct sockaddr* from,
__in_out int* fromlen
); -------------- 发送数据 int sendto(
__in SOCKET s,
__in const char* buf,
__in int len,
__in int flags,
__in const struct sockaddr* to,
__in int tolen
); - 关闭套接字
客户端
-
创建套接字-----socket
-
向服务器发送数据和接收数据 recvfrom/sendto
-
关闭套接字
不要忘记在开始的时候导入socket库------int WSAStartup(
__in WORD wVersionRequested,
__out LPWSADATA lpWSAData
);
和引入头文件#include <WinSock2.h>