Page 23 -
P. 23

1.2         클라이언트-서버 기반                                    J A V A WEB            1




                                프로그램 동작 방식                                                            프로그램의 발전 과정





                    이번에는 클라이언트-서버 기반으로 구현한 환율 계산기 구조를 살펴보겠습니다.

                       그림 1-5 클라이언트-서버 기반 프로그램 구조도








                         클라이언트                                서버


                    이 구조에서는 기존 클라이언트가 수행하는 모든 기능을 서버에서 수행합니다. 클라이언트의 기
                    능은 대폭 축소되었지요. 클라이언트는 처리할 데이터가 있으면 네트워크를 통해 서버에 전달하

                    고, 서버가 처리한 결과를 네트워크를 통해 다시 받아 결과를 화면에 출력하는 역할만 합니다.

                    코드 1-3은 환율 계산기 프로그램에서 서버가 담당하는 기능을 구현한 소스 코드의 일부입니다.
                    클라이언트가 전송한 데이터와 연산자를 이용해서 계산한 후 결과를 클라이언트로 전송하는 역할을
                    합니다.


                     코드 1-3 환율 계산기 서버의 기능(pro01/src/ex02/RateServer.java)
                      public class RateServer {
                        public static void main(String[] args) {
                        ...
                        try {
                          serverSocket = new ServerSocket(5434);
                          System.out.println("서버 실행 중... ");

                          while(true) {
                            s1 = serverSocket.accept();
                            is = s1.getInputStream();
                            os = s1.getOutputStream();
                            br = new BufferedReader(new InputStreamReader(is));
                            String data = br.readLine();
                            System.out.println("서버 수신 데이터:"+data);
                            String result = calculate(data);
                            System.out.println(result);
                                                                                                  029
   18   19   20   21   22   23   24   25   26   27   28