• 캠퍼스북
  • 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

네트워크 프로그래밍 연습문제

*정*
최초 등록일
2009.01.18
최종 저작일
2008.12
5페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니

소개글

네트워크 프로그래밍 연습문제

1. socket descriptor 와 file descriptor의 차이점은 무엇인가?
2. 2-1절에 나와 있는 open_socket.c 프로그램을 작성하여 실행하여 보아라.
- 파일 번호 및 소켓번호는 어떻게 나오는가?
3. 소켓주소를 저장하는 구조체로 sockaddr와 sockaddr_in 두 가지가 정의되어 있는 이유를 설명하고 인터넷 프로그램에서는 어느 것을 사용하는 것이 편리한지 이유를 설명하라.
4. 2-2절의 byte_order.c 프로그램을 작성하고 출력에 대해 논하라.
5. 4번을 활용하여 4 바이트로 표현된 숫자의 바이트 순서를 바꾸는 프로그램을 작성하시오. 예를 들어 16진수 0x12345678을 입력하면 0x78563412가 출력되도록 하시오. 순서를 바꾸는 함수의 프로토타입을 아래와 같이 작성하고, 아래의 before 인자는 바이트 순서를 바꾸기 전의 값이며 함수의 리턴 값은 바이트 순서가 바뀐 후의 값이다.
unsigned int convert_order32 (unsigned int before);
6. 자신이 사용하는 시스템의 호스트 바이트 순서가 big endian인지 little endian인지를 확인하는 프로그램을 작성하시오. (반드시 5번에서 만든 convert_order32 함수를 이용)
7. ascii_ip.c 프로그램을 작성하여 보고, inet_addr()함수를 inet_pton()함수로 변환하여 프로그램을 수정하여 보라.
8. gethostbyname() 함수를 이용하여 도메인 네임 (www.google.com)에 대해 리턴 받는 hostent 구조체에 저장되어 있는 모든 내용을 출력하는 프로그램을 작성하고 그 결과를 서 술 하시오.

목차

1. socket descriptor 와 file descriptor의 차이점은 무엇인가?
2. 2-1절에 나와 있는 open_socket.c 프로그램을 작성하여 실행하여 보아라.
- 파일 번호 및 소켓번호는 어떻게 나오는가?
3. 소켓주소를 저장하는 구조체로 sockaddr와 sockaddr_in 두 가지가 정의되어 있는 이유를 설명하고 인터넷 프로그램에서는 어느 것을 사용하는 것이 편리한지 이유를 설명하라.
4. 2-2절의 byte_order.c 프로그램을 작성하고 출력에 대해 논하라.
5. 4번을 활용하여 4 바이트로 표현된 숫자의 바이트 순서를 바꾸는 프로그램을 작성하시오. 예를 들어 16진수 0x12345678을 입력하면 0x78563412가 출력되도록 하시오. 순서를 바꾸는 함수의 프로토타입을 아래와 같이 작성하고, 아래의 before 인자는 바이트 순서를 바꾸기 전의 값이며 함수의 리턴 값은 바이트 순서가 바뀐 후의 값이다.
unsigned int convert_order32 (unsigned int before);
6. 자신이 사용하는 시스템의 호스트 바이트 순서가 big endian인지 little endian인지를 확인하는 프로그램을 작성하시오. (반드시 5번에서 만든 convert_order32 함수를 이용)
7. ascii_ip.c 프로그램을 작성하여 보고, inet_addr()함수를 inet_pton()함수로 변환하여 프로그램을 수정하여 보라.
8. gethostbyname() 함수를 이용하여 도메인 네임 (www.google.com)에 대해 리턴 받는 hostent 구조체에 저장되어 있는 모든 내용을 출력하는 프로그램을 작성하고 그 결과를 서 술 하시오.

본문내용

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

int main(int argc, char* argv[]){
char buf[20];
int i;
struct in_addr in;
struct hostent *hp;

if(argc<2) {
printf("사용법: %s hostnamen", argv[0]);
exit(0); }
hp = gethostbyname(argv[1]);
if(hp==null) {
printf("gethostbyname failn");
exit(0); }
printf("호스트 이름 : %sn", hp->h_name);
printf("호스트 주소타입 번호 : %dn", hp->addrtype);
printf("호스트 주소의 길이 : %d바이트n", hp->h_length);
for(i=0; hp->h_addr_list[i] ; i++) {
memcpy(&in.s_addr, hp->h_addr_list[i], sizeof(in.s_addr));
inet_ntop(AF_INET, &in, buf, sizeof(buf));
printf("IP주소(%d번째) : %sn", i+1, buf);
}
for(i=0; hp->h_aliases[i]; i++)
printf("호스트 별명(%d번째) : %sn", i+1, hp->h_aliases[i]);
puts("");
return 0;
}

참고 자료

없음

자료후기(2)

*정*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

더보기
최근 본 자료더보기
탑툰 이벤트
네트워크 프로그래밍 연습문제
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업