为了更了解网络开发的流程,可以先通过掌握WinSock再去掌握别的网络开发库,掌握传统的WinSock可以对网络开发的架构有一个清晰框架,初学者可以先从一个入门的WinSock程序开始:
【服务端代码】
WSADATA data;
WORD Versions = MAKEWORD(2,0);
int iResult = WSAStartup(Versions,&data);//加载套接字动态链接库版本
if (iResult != NO_ERROR)
{
MessageBox("加载套接字库失败");
}
//MFC程序也可以通过在CAPP类中的InitInstance里用AfxSocketInit()函数初始化
//详情看MSDN
SOCKET mainSock,transferSock;//定义两个套接字,一个绑定监听,一个收发数据
mainSock = socket(AF_INET,SOCK_STREAM,0)//创建TCP套接字
if (m_socket == INVALID_SOCKET)//INVALID_SOCKET是创建套接字失败时的返回值
{
MessageBox("创建套接字失败");
}
//详情可查看sockaddr_in在MSDN中的介绍//
sockaddr_in mainAddr,transferAddr;//定义两个sockaddr_in结构变量
int n=sizeof(transferAddr);//获取结构大小
mainAddr.sin_family= AF_INET;//设置地址族
mainAddr.sin_port = htons(800);//设置端口号
mainAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1&