下面两段代码介绍Windows中,TCP/IP的建立过程,只是一个最简单的实现。VS2008中测试通过。
服务器端:
#include<winsock.h>
#include<stdio.h>
#pragma comment(lib,"wsock32.lib")
int main()
{
//请求版本
WORD wVersionRequested; //Window Socket版本
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 ); //高位为副版本,请求1.1版本
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) { return 1; } //找不到合适版本
if(LOBYTE( wsaData.wVersion)!= 1 ||
HIBYTE(wsaData.wVersion) != 1)
{
WSACleanup();
return 1;
}
//创建套接字socket
SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0); //创建套接字
SOCKADDR_IN addrSrv;
addrSrv.sin_family=AF_INET;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//转换为网络顺序
addrSrv.sin_port=htons(5001);
//绑定bind
if(bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)) < 0)
{
printf("bind failed\n");
return 1;
}
/