TCP/IP client 프로그램의 구조는 간단합니다.

TCP/IP client는 특별히 고려할 것은 많지 않습니다. 아래의 소스를 보면 금방 이해할 수 있습니다.

 

TCP/IP client sample 프로그램

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdlib.h>

/*
* tcpip_lib.c와 tcpip_lib.h는 최상단의 링크에서 다운받으세요.
*/
#include "tcpip_lib.h"

#define SERVER_NAME     "localhost"   // 서버에 대한 domain이나 IP address 정의
#define SERVER_PORT     6905          // 서버에 대한 port번호 설정

int main(int argc, char *argv[])
{
    /* 
    * TO-DO: 변수는 업무에 맞게 데이터 송수신 구조체를 정의하여 사용합니다. 
    * 필요시 전역변수를 선언하여 사용합니다.
    */

    int sock;
    int recv_len;
    char recv_buf[4096];
    char send_buf[4096];

    if((sock = TCPIPconnect(SERVER_NAME, SERVER_PORT)) == -1) {
        fprintf(stderr, "tcp_connect error: %s\n", strerror(errno));
        return -1;
    }

    /* TO-DO: 이 함수는 실제 업무 로직을 구현합니다. */

    while(1) {
        if((TCPIPsend(sock, send_buf, 2048, 0)) == -1) {
            /* TO-DO : 오류 로그 생성 */
            exit(1);
        }
  
        /* TO-DO : 입력한 데이터로 처리하는 로직  */

        // ......


        if((recv_len = TCPIPrecv(sock, recv_buf, 2048, 0)) == -1) {
            /* TO-DO : 오류 로그 생성 */
            exit(1);
        }
    }    

    close(sock);
    
    return 0;
}

 


see also :  TCP/IP 통신 프로그램   Socket 통신 관련 Library  

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

Tag , , ,

댓글을 달아 주세요