client

   
   
   
   
  1. socket--client 
  2.  
  3. #include  
  4. #include  
  5. using namespace std; 
  6.  
  7. #pragma comment(lib, "ws2_32.lib") 
  8.  
  9. int gPort = 60000; 
  10. void main() 
  11.     SOCKET lhSocket; 
  12.     SOCKADDR_IN lSockAddr; 
  13.     WSADATA wsaData; 
  14.     int lConnect; 
  15.     int lLength; 
  16.     char lData[]="SendData"
  17.     if(WSAStartup(MAKEWORD(2,0),&wsaData) != 0) 
  18.     { 
  19.         cout<<"Socket Initialization Error. Program aborted\n"
  20.         return
  21.     } 
  22.     lhSocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); 
  23.     if(lhSocket == INVALID_SOCKET) 
  24.     { 
  25.         cout<<"Invalid Socket "<". Program Aborted\n"<
  26.     } 
  27.     memset(&lSockAddr,0, sizeof(lSockAddr)); 
  28.     lSockAddr.sin_family = AF_INET; 
  29.     lSockAddr.sin_port = htons(gPort); 
  30.     lSockAddr.sin_addr.s_addr = inet_addr("192.168.1.113"); 
  31.     lConnect = connect(lhSocket,(SOCKADDR *)&lSockAddr,sizeof(SOCKADDR_IN)); 
  32.     if(lConnect != 0) 
  33.     { 
  34.         cout<<"Connect Error. Program aborted\n"
  35.         return
  36.     } 
  37.     lLength = send(lhSocket,lData,strlen(lData),0); 
  38.     if(lLength < strlen(lData)) 
  39.     { 
  40.         cout<<"Send Error.\n"
  41.     } 
  42.     system("pause"); 
  43.     closesocket(lhSocket); 
  44.     return

Server:

   
   
   
   
  1. #include   
  2. #include   
  3. #include   
  4. using namespace std;  
  5.  
  6. #pragma  comment(lib, "ws2_32.lib")  
  7.  
  8. void main()  
  9. {  
  10.     WORD wVersionRequested;  
  11.     WSADATA wsaData;  
  12.     int err;  
  13.  
  14.     wVersionRequested = MAKEWORD( 1, 1 );  
  15.  
  16.     err = WSAStartup( wVersionRequested, &wsaData );  
  17.     if ( err != 0 ) {  
  18.         return;  
  19.     }  
  20.  
  21.     if ( LOBYTE( wsaData.wVersion ) != 1 ||  
  22.         HIBYTE( wsaData.wVersion ) != 1 ) {  
  23.             WSACleanup( );  
  24.             return;  
  25.     }  
  26.     SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);  
  27.  
  28.     SOCKADDR_IN addrSrv;  
  29.     addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);  
  30.     addrSrv.sin_family=AF_INET;  
  31.     addrSrv.sin_port=htons(60000);  
  32.  
  33.     bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));  
  34.  
  35.     listen(sockSrv,5);  
  36.  
  37.     SOCKADDR_IN addrClient;  
  38.     int len=sizeof(SOCKADDR);  
  39.     while(1)  
  40.     {  
  41.         SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);  
  42.         char sendBuf[50];  
  43.         // sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr));  
  44.         // send(sockConn,sendBuf,strlen(sendBuf)+1,0);  
  45.         char recvBuf[50];  
  46.         recv(sockConn,recvBuf,50,0);  
  47.         printf("%s\n",recvBuf);  
  48.         closesocket(sockConn);  
  49.  
  50.     }  

 

地址:http://www.codersource.net/win32/win32-sockets.aspx