클라이언트 시작

#include <stdio.h> /* 표준출력 */
#include "libzwSock.h"		/* libZwSock head파일 */

int main(int argc, char** argv)
{
    LibZWSock zwSock;  /* zettaWorks 소켓통신 클래스 */
    const char* ip = "127.0.0.1"; /* 접속ip */
    unsigned short int port = 9110; /* 접속포트 */
    unsigned int rtn = 0; /* 함수리턴값*/
    int fd = 0; // 파일 디스크립터

    // libzwSock 초기화
    zwSock.Initialize();

    // 소켓 Create/Connect 수행
    rtn = zwSock.StartClient(ip, port);

    if (rtn != NO_ERR) {
        switch (rtn) {
        case ERR_NOT_INITIALIZED: {
            printf("Initialization failed\n");
            break;
        }
        case ERR_CREATE_SOCKET: {
            printf("Create socket failed\n");
            break;
        }
        case ERR_CONNECT: {
            printf("Connect failed\n");
            break;
        }
        default: {}
        }

        printf("Failed to start client!\n");
        return -1;
    }

    printf("Connect success!\n");
    // Fd 를 가져온다
    fd = zwSock.GetFd();

    // 필요한 경우 소켓 논블럭,비동기로 설정한다.
    fcntl(server_fd, F_SETFL, O_RDWR | O_NONBLOCK | O_ASYNC);

    /* 여기에 사용자 로직 기술 */

    zwSock.Stop(); /* 통신 중지 */
    return 0;
}

이 프로그램의 개요

  • 라이브러리에 사용을 위해 libzwSock.h 포함
  • 클라이언트를 시작하려면 LibZWSock 객체를 선언하고 LibZWSock::Initialize() 메소드를 사용하여 초기화
  • LibZWSock::StartClient(주소, 포트) 메소드로 서버 연결 후 결과값 리턴 ( 내부적으로 소켓 Create/Connect 수행 )
  • LibZWSock::GetFd() 메소드로 클라이언트 파일 디스크립터를 가져와 통신방식을 지정한다
  • LibZWSock::Stop() 로 연결 종료
error: Content is protected !!
위로 스크롤