TCP通信

#include  < Winsock2.h >
#include 
< stdio.h >
#pragma comment(lib,
" ws2_32.lib " )

void  main() 

    WORD wVersionRequested; 
    WSADATA wsaData; 
    
int err; 

    wVersionRequested 
= MAKEWORD( 11 ); 

    err 
= WSAStartup( wVersionRequested, &wsaData ); 
    
if ( err != 0 ) 

        
return
    }
 

    
if ( LOBYTE( wsaData.wVersion ) != 1 || 
        HIBYTE( wsaData.wVersion ) 
!= 1
            WSACleanup( ); 
            
return
    }
 
    SOCKET socksrv
=socket(AF_INET,SOCK_STREAM,0); 

    SOCKADDR_IN addrsrv; 
    addrsrv.sin_addr.S_un.S_addr
=htonl(INADDR_ANY); 
    addrsrv.sin_family
=AF_INET; 
    addrsrv.sin_port
=htons(4444); 

    bind(socksrv,(sockaddr
*)&addrsrv,sizeof(SOCKADDR)); 

    listen(socksrv,
5); 

    SOCKADDR_IN addrclient; 
    
int len=sizeof(SOCKADDR); 

    
while(1
    

        SOCKET sockconn
=accept(socksrv,(SOCKADDR*)&addrclient,&len); 
        
char sendbuf[100]; 
        sprintf(sendbuf,
"welcome %s to TCP server",inet_ntoa(addrclient.sin_addr)); 
        send(sockconn,sendbuf,strlen(sendbuf)
+1,0); 
        
char recvbuf[100]; 
        recv(sockconn,recvbuf,
100,0); 
        printf(
"%s\n",recvbuf); 
        closesocket(sockconn); 

    }
 

}

你可能感兴趣的:(socket)