#include #include #include #include #define BUF_SIZE 256 int main(int argc, char *argv[]){ int fdin; char *path = argv[1]; char buf[BUF_SIZE]; if(argc != 2){ printf("argc error \n"); exit(1); } fdin = open(path, O_RDONLY); if(fdin == -1){ printf("open() error \n"); exit(1); } read(fdin, buf, sizeof(buf)); printf("%s", buf); close(fdin); return 0; }
서버 #include #include #include #include #include #include #define BUF_SIZE 1024 void error_handling(char *message); int main(int argc, char *argv[]){ int serv_sock, clnt_sock; char message[BUF_SIZE]; int str_len, i; // sockaddr_in : 소켓 주소의 틀을 형성해주는 구조체로 AF_INET일 경우 사용 struct sockaddr_in serv_adr; struct sockaddr_in clnt_adr; socklen_t clnt_adr_sz; // 사용 실패 if(argc != 2){ printf("Usage : %s \n", a..
#include #include #include #include #include #include int main(int argc, char **argv){ struct hostent *host; struct sockaddr_in addr; int i; // 메모리 초기화 memset(&addr, '0', sizeof(addr)); // 인자 수 체크 if(argc!=2){ printf("Please, Input IP Address or Domain Name \n"); exit(1); } // 32비트 IPv4주소를 넣을 수있다. inet_addr()를 통해 32비트 변환 addr.sin_addr.s_addr=inet_addr(argv[1]); // addr : inet_addr()한수를 이용해 변환된 I..