목차
1. 소스 코드
1) 서버
2) 클라이언트
2. 프로그램 실행 화면
1) 서버
2) 클라이언트
3) 전체보기
1) 서버
2) 클라이언트
2. 프로그램 실행 화면
1) 서버
2) 클라이언트
3) 전체보기
본문내용
exit(1);
}
strcpy(addr,argv[1]);
port = PORT;
bzero((char *)&serv_addr,sizeof(serv_addr));//serv_addr구조체 초기화
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(port);
if((serv_addr.sin_addr.s_addr=inet_addr(addr)) != INADDR_NONE){
strcpy(hostname,addr);
}
else{ //도메인 -> 호스트 변환 및 확인
if((host = gethostbyname(addr)) == NULL){
herror("host name error\n");
exit(1);
}
bcopy(host->h_addr,(char *)&serv_addr.sin_addr,host->h_length);
strcpy(hostname,host->h_name);
}
if((sock = socket(AF_INET,SOCK_STREAM,0)) < 0){
perror("소켓생성 에러\n");
exit(1);
}
printf("Trying %s..\n",inet_ntoa(serv_addr.sin_addr));
if(connect(sock,(struct sockaddr*)&serv_addr,sizeof(serv_addr)) < 0){
close(sock);
perror("연결에러\n");
exit(1);
}
printf("연결되었습니다 %s\n",hostname);
while((n = read(newsock,buf,100)) != 0){
if(n < 0){
perror("read error\n");
close(newsock);
exit(1);
}
// printf("printf : %s\n",buf);
write(sock,buf,n);//서버로 전송
// write(1,buf,n);
m = read(sock,buf,100); //서버로부터 전송받는다
ptr = (char *)malloc(sizeof(char)*m);//메모리 할당
strncpy(ptr,buf,m);
*(ptr+m) = '\0';
printf("서버로부터 받은 문자열은 : %s\n",ptr);
free(ptr);
}
close(newsock);
printf("connection close \n");
return 0;
}
2. 프로그램 실행 화면
1) 서버
2) 클라이언트
3) 전체보기
}
strcpy(addr,argv[1]);
port = PORT;
bzero((char *)&serv_addr,sizeof(serv_addr));//serv_addr구조체 초기화
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(port);
if((serv_addr.sin_addr.s_addr=inet_addr(addr)) != INADDR_NONE){
strcpy(hostname,addr);
}
else{ //도메인 -> 호스트 변환 및 확인
if((host = gethostbyname(addr)) == NULL){
herror("host name error\n");
exit(1);
}
bcopy(host->h_addr,(char *)&serv_addr.sin_addr,host->h_length);
strcpy(hostname,host->h_name);
}
if((sock = socket(AF_INET,SOCK_STREAM,0)) < 0){
perror("소켓생성 에러\n");
exit(1);
}
printf("Trying %s..\n",inet_ntoa(serv_addr.sin_addr));
if(connect(sock,(struct sockaddr*)&serv_addr,sizeof(serv_addr)) < 0){
close(sock);
perror("연결에러\n");
exit(1);
}
printf("연결되었습니다 %s\n",hostname);
while((n = read(newsock,buf,100)) != 0){
if(n < 0){
perror("read error\n");
close(newsock);
exit(1);
}
// printf("printf : %s\n",buf);
write(sock,buf,n);//서버로 전송
// write(1,buf,n);
m = read(sock,buf,100); //서버로부터 전송받는다
ptr = (char *)malloc(sizeof(char)*m);//메모리 할당
strncpy(ptr,buf,m);
*(ptr+m) = '\0';
printf("서버로부터 받은 문자열은 : %s\n",ptr);
free(ptr);
}
close(newsock);
printf("connection close \n");
return 0;
}
2. 프로그램 실행 화면
1) 서버
2) 클라이언트
3) 전체보기
추천자료
- [독후감]요코이야기 - 해방 전후의 전쟁의 참상.
- [프로토콜][HTTP프로토콜][IP프로토콜][DLCP프로토콜][TELNET프로토콜][WAP프로토콜][RIP][IG...
- HTTP 프로토콜
- 이메일 마케팅
- 웹 혁명의 물결
- CORBA 프로그래밍
- [과제#9] 1대1 채팅 프로그램 만들기!!
- 네트워크 보안 프로토콜(SSL, IP보안프로토콜, 가상사설망)
- email 보내기 프로그램(c언어 소스 코드)
- 2011년 2학기 컴퓨터보안 기말시험 핵심체크
- 처음처럼 광고 분석
- (C언어) 네트워크 오목 게임
- [레포트]드라마 유령 1~5회 패널토론 과제
- A1부터 A3의 공격과 방어 - 2013년도 OWASP을 기준으로