winsocket c++ 阻塞方式

来源:互联网 发布:淘宝网韩版女装 编辑:程序博客网 时间:2024/06/05 11:27
#include <WinSock2.h>
#include <stdio.h>
#include <iostream>
#pragma comment(lib,"ws2_32.lib")


int main()
{
//加载socket动态库
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(2,2);
auto err = WSAStartup(wVersionRequested, &wsaData);
if(err != 0)
{
int c = 0;
}
if(LOBYTE(wsaData.wVersion) != 2 ||
  HIBYTE(wsaData.wVersion) != 2)
{
int c = 0;
}




SOCKET socketSer = socket(AF_INET, SOCK_STREAM, 0);


SOCKADDR_IN serverAddr;
    memset(&serverAddr,0,sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(22000);       
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); /*有IP*/


bind(socketSer,(struct sockaddr *)&serverAddr,sizeof(serverAddr));
listen(socketSer,5);


SOCKADDR_IN  socketClient;
int socketLength = sizeof(SOCKADDR);


while(true)
{
SOCKET Command_Sock = accept(socketSer, (SOCKADDR*)&socketClient,&socketLength);
char data[50];
printf("IP:%s",inet_ntoa(socketClient.sin_addr));
recv(Command_Sock,data,sizeof(data),0);
   printf("%s\n",data);
closesocket(Command_Sock);
//WSACleanup();
}




    WSACleanup();
return 0;
}
0 0
原创粉丝点击