TFTP 로토콜을 이용한 데이터 송수신 (Socket Programing)
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

● 인터넷 소켓
● UDP, TCP 프로토콜
● TFTP 의 설명
● 순서도와 설명
● 동작화면
● 구현한 주요 함수 설명

본문내용

신하여 오류가 없으면 응답메세지(ACK)없이 바로 데이터를 전송함으로써 대답한다.
수신항목에 받고자 하는 파일명을 입력한다. 잘못 입력하고 수신을 누를 경우 오류가 발생했다고 메시지가 뜨게 된다.
파일명을 올바르게 입력한 후 수신을 누르면 서버로부터 수신이 이루어진다. 창을 잘보게되면 서버는 (...전송함...)이렇게 메시지가 뜨게 되고 클라이언트는 (...수신함...)이렇게 메시지가 뜨게 된다. 파일수신을 마친 클라이언트는 소켓종류 함수를 이용해 소켓을 닫는다.
● 구현한 주요 함수 설명
// 윈속을 초기화 한다.
WSADATA wsa;
if(WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
(사용할 윈속 버전을 요청함으로써 윈속 라이브러리를 초기화 하는 역할)
// socket()
m_hServerSock = socket(AF_INET, SOCK_DGRAM, 0);
if(m_hServerSock == INVALID_SOCKET)
(socket() 소켓을 생성하는 함수로 SOCK_DGRAM은 UDP를 사용한다는 의미이다.)
// bind()
memset( &servAddr, 0, sizeof(servAddr) );
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = inet_addr(strTemp);
servAddr.sin_port = htons(myDlg->GetDlgItemInt(IDC_EDIT_PORT));
(bind() 함수를 이용해서 지역 IP 주소와 지역 포트번호를 결정한다.)
// 데이터 받기
retval = recvfrom( myDlg->m_hServerSock, (char *)&recvPacket, sizeof(recvPacket), 0, (SOCKADDR *)&clientAddr, &addrLen );
(클라이언트가 보낸 데이터를 recvfrom()함수를 이용하여 받는다.)
// 데이터 보내기
sendto( myDlg->m_hServerSock, (char *)&sendPacket, packetLen, 0, (SOCKADDR *)&clientAddr, sizeof(clientAddr) );
(받은 데이터에 대한 응답을 sendto() 함수를 이용하여 보낸다.)
// closesocket();
closesocket(sock);
(데이터 전송이 끝나면 closesocket()함수를 이용하여 소켓을 닫게 된다.)

키워드

  • 가격1,800
  • 페이지수6페이지
  • 등록일2012.05.18
  • 저작시기2012.5
  • 파일형식한글(hwp)
  • 자료번호#747324
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니