#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() 로 연결 종료
