반응형
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
반응형
'C언어 응용 > TCP·IP' 카테고리의 다른 글
TCP/IP - 8. TCP/IP Server: II. min - max pattern (0) | 2019.10.03 |
---|---|
TCP/IP - 8. TCP/IP Server: I. 요청시 fork pattern (0) | 2019.10.03 |
TCP/IP - 6. 공통 라이브러리 만들기(정보 제공 함수) (0) | 2019.10.01 |
TCP/IP - 5. 공통 라이브러리 만들기(기본함수) (0) | 2019.10.01 |
TCP/IP - 4. Client 처리 flow (0) | 2019.10.01 |