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