有容乃大 无欲则刚

C++博客 首页 新随笔 联系 聚合 管理
  10 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
#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();
}
posted on 2009-07-21 20:16 huyvanpull 阅读(1978) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理