Page 213 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 213

15.  데이터  수신
               -  폴링방식  :  UCSRA(RXC)를  체크하여  데이터를  리턴(return  UDR)한다.
                 void USART_Receive(void) {
                   while (!(UCSRA & (1<<RXC)); //데이터가 수신될 때까지 대기
                     return UDR; }      //버퍼에 수신된 데이터를 반환

               -  인터럽트  방식  :  UCSRA의  RXC(수신  완료)  인터럽트
                      RXC  플래그  체크  인터럽트를  위해  UCSRB(RXCIE)을  1로  활성화.
                      인터럽트  방식의  수신이  진행  중이라면,  수신  완료  처리  프로그램은  RXC  플래그를
                클리어  시키기  위해  UDR에  있는  수신  데이터를  읽어야  한다.  그렇지  않을  경우  새로운
                인터럽트가  인터럽트  프로그램이  종료될  때마다  실행될  것이다.


               ■  데이터  수신은  언제  데이터가  전송되어  올지  모르기  때문에  폴링  방식보다는  인터럽트
                방식을  이용하는  것이  편리하다.

            마. 소켓통신
            *  소켓통신이란?

              -  한  시스템  또는  네트워크상에서  통신을  가능하게  해주는  통신  인터페이스라고  한다.
              -  한  쪽에서  보낸  신호를  다른  쪽에서  받으면  서로  연결이  성립되고  그  후  데이터를  주고  받
                  는  통신이다.
              -  네트워크상에서  서버와  클라이언트  두  개의  프로그램이  특정  포트를  통해  양방향  통신이
                  가능하도록  만들어주는  소프트웨어  장치라한다.

              -  IP  address랑  Port넘버가  합쳐진  네트워크상에서  서버  프로그램과  클라이언트  프로그램이
                  통신할  수  있도록  해주는  소프트웨어  장치이다.
              -  두  프로그램이  네트워크를  통해  서로  통신을  수행할  수  있도록  양쪽에  생성되는  링크의  단
                자이다.
              -  소켓통신은  크게  두  가지로  나뉘게  되는데  TCP(Transmission  Control  Protocol)과

                 UDP(User  Datagram Protocol)로  나뉘게  된다.


              1.  소켓의  정의
                소켓(socket)은  1982년  BSD(Berkeley  Software  Distribution)  UNIX  4.1에서  처음  소개됐으
                며  현재  널리  사용되는  것은  1986년의  BSD  UNIX  4.3에서  개정된  것입니다.  소켓은  소프트

                웨어로  작성된  추상적인  개념의  통신  접속점이라고  할  수  있는데  네트워크  응용  프로그램은
                소켓을  통하여  통신망으로  데이터를  송수신하게  된다.  소켓은  응용  프로그램에서  TCP/IP를
                이용하는  창구  역할을  하며  응용  프로그램과  소켓  사이의  인터페이스  역할을  하고  있다.


             2.소켓의 구조

                클라이언트  어플리케이션은  서버와  통신을  하기위해  어떠한  메시지  또는  데이터를  서버에게
                보내려  할  것이다.  그러기위해서는  네트워크에  연결하여  서버에  접속하여야  한다.  그리고  소




                                                         -  206  -
   208   209   210   211   212   213   214   215   216   217   218