#include<WinSock2.h>
#include<stdio.h>
void main()
{

WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1,1  );

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

                       

if ( LOBYTE( wsaData.wVersion ) != 1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup( );
return; 
}
SOCKET socsrv;
socsrv=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(5000); bind(addrSrv,&addrSrv,sizeof(SOCKADDR)); listen(socsrv,3);

SOCKADDR_IN socClient;
int len=sizeof(SOCKADDR); while(1)
{
SOCKET sockConn=accept(socsrv,(SOCKADDR*)&socClient,&len);
char sendBuf(100);
sprintf(sendBuf,"this is %s cpz",inet_ntoa(socClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf,100,0);
printf("%s/n",recvBuf);
closesocket(sockConn); }
}