본문 바로가기
Tip&Skill

[TCP/IP] 윈도우소켓 클라이언트만들기

by 하센세 2009. 3. 23.
#include        
#include        
       
#pragma comment(lib, "wsock32.lib")         
        
void main()         
{         
    SOCKET s, cs;         
    WSADATA wsaData;   
    struct sockaddr_in sin;   
           
       
    if( WSAStartup(WINSOCK_VERSION, &wsaData) != 0 ){      
        printf("WSAStartup 실패, 에러코드 = %d\n", WSAGetLastError());      
        return;      
    }      
           
    s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);         
     
    if(s==INVALID_SOCKET){      
        printf("소켓 생성 실패, 에러코드 : %d\n", WSAGetLastError());      
        WSACleanup();      
        return;      
    }      
       
    sin.sin_family = AF_INET;      
    sin.sin_port = htons(10000);   
    sin.sin_addr.s_addr = inet_addr("127.0.0.1");
       
   if(connect(s, (struct sockaddr*)&sin, sizeof(sin)) != 0){   
        printf("접속 실패, 에러코드 = %u\n", WSAGetLastError());   
        closesocket(s);   
        WSACleanup();   
  
    }   
     
    if(closesocket(s)!=0){      
        printf("소켓 제거 실패, 에러코드 = %u\n", WSAGetLastError());   
        WSACleanup();      
        return;      
    }      
  
    if(WSACleanup() != 0){   
        printf("WSACleanup 실패, 에러코드 = %u\n", WSAGetLastError());   
        return;   
    }          
}