c++网络编程服务器

来源:互联网 发布:淘宝店已下架什么意思 编辑:程序博客网 时间:2024/06/08 03:30
        WSADATA wsaData;
int iResult=WSAStartup(MAKEWORD(2,2),&wsaData);
if(iResult!=0)
{
cout<<"初始化失败"<<endl;
return 1;
}


SOCKET serverSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_TCP);
if(serverSocket==INVALID_SOCKET)
{
cout<<"socket创建失败"<<WSAGetLastError()<<endl;
   WSACleanup();
return 1;
}


sockaddr_in addr;
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=inet_addr("192.168.1.200");
addr.sin_port=htons(6800);

int err=bind(serverSocket,(sockaddr*)&addr,sizeof(addr));
if(err==SOCKET_ERROR)
{
cout<<"绑定失败"<<endl;
closesocket(serverSocket);
WSACleanup();
return 1;
}
int err=listen();
if(err==SOCKET_ERROR)
{
cout<<""<<endl;
closesocket(serverSocket);
WSACleanup();
return 1;
}


cout<<"等待客户连接......\n"<<endl;


//接收信息
char recvbuf[256];
char t;
char echo[]="echo";
while(true)
{
struct sockaddr_in client;
int length=sizeof(client);
SOCKET acceptSocket=accept(serverSocket,(sockaddr*)&client,&length);
if(acceptSocket==INVALID_SOCKET)
{
cout<<"客户端连接失败:"<<WSAGetLastError<<endl;
closesocket(serverSocket);
WSACleanup();
}
iResult=recv(acceptSocket,recvbuf,256,0);
if(iResult>0)
{
cout<<recvbuf<<endl;
}
send(acceptSocket,echo,strlen(echo),0);
send(acceptSocket,recvbuf,strlen(recvbuf),0);
closesocket(acceptSocket);
}
closesocket(serverSocket);
WSACleanup();
原创粉丝点击