티스토리 뷰

반응형

char __fastcall TMainFrm::ConnectServer(void)
{
    struct hostent *pHostEnt;
    unsigned char   IP[4];
    AnsiString      Addr;

    if(WSAStartup(MAKEWORD(2,2), &m_WsaData) != 0){
        MsgBox("WSA Error");
        return FALSE;
    }

    g_ServSock = socket(PF_INET, SOCK_STREAM, 0);
    if(g_ServSock==INVALID_SOCKET){
        MsgBox("SOCKET Error");
        return FALSE;
    }

    //  도메인 이름으로 IP주소 알아오기
    pHostEnt = gethostbyname(SERVER_DOMAIN);
    memcpy(IP, pHostEnt->h_addr, 4);
    Addr.sprintf("%d.%d.%d.%d", IP[0], IP[1], IP[2], IP[3]);


    memset(&m_ServAddr, 0, sizeof(m_ServAddr));
    m_ServAddr.sin_family           = AF_INET;
    m_ServAddr.sin_addr.s_addr  = inet_addr(Addr.c_str());
    m_ServAddr.sin_port              = htons(SERVER_PORT);

 

    if(connect(g_ServSock, (SOCKADDR*)&m_ServAddr, sizeof(m_ServAddr))==SOCKET_ERROR)   {
        MsgBox("CONNECT Error");
        return FALSE;
    }

    return  TRUE;
}

 

반응형

'프로그래밍 > C, C++' 카테고리의 다른 글

localtime_r로 어제 날짜 구하기  (0) 2021.08.05
modbus tcp Master (libmodbus 라이브러리)  (0) 2020.03.26
윈도우 TCP 서버 소켓 생성  (0) 2019.08.09
TCP 서버 타임 아웃 설정  (0) 2019.08.09
Serial 통신 클래스  (0) 2019.07.24
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday