C++ TCP 通信

C++ 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); 

    }
 

}



#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 sockClient
=socket(AF_INET,SOCK_STREAM,0);

    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr
=inet_addr("127.0.0.1");
    addrSrv.sin_family
=AF_INET;
    addrSrv.sin_port
=htons(4444);
    connect(sockClient,(SOCKADDR
*)&addrSrv,sizeof(SOCKADDR));
    
char recvBuf[100];
    recv(sockClient,recvBuf,
100,0);
    printf(
"%s\n",recvBuf);
    send(sockClient,
"this is huyvanull's client",strlen("this is huyvanull's client")+1,0);
    
    closesocket(sockClient);
    WSACleanup();
}

你可能感兴趣的:(C++ TCP 通信)