본문 바로가기

Java SE/Socket 01

Socket 01

클라이언트에서 숫자를 전송하면 서버측에서 구구단을 작성하여 다시 클라이언트에게 되돌려 주는 예제

클라이언트 측

import java.net.*;
import java.io.*;

class  GuguClient {
 public static void main(String[] args) throws Exception {

  //InetAddress ia = InetAddress.getLocalHost();

  Socket soc = new Socket("localhost", 1234);

  PrintWriter pw = new PrintWriter(new OutputStreamWriter(soc.getOutputStream()));
  BufferedReader br = new BufferedReader(new InputStreamReader(soc.getInputStream()));

  pw.println("5");
  pw.flush();

  String line = null;
  while((line=br.readLine())!= null) {
   System.out.println(line);
  }
 }
}


 서버측

import java.net.*;
import java.io.*;

class  GuguServer {
 public static void main(String[] args) throws Exception {

  ServerSocket ss = new ServerSocket(1234);
  System.out.println("서버 실행중....");

  Socket soc = ss.accept();

  BufferedReader br = new BufferedReader(new InputStreamReader(soc.getInputStream()));
  PrintWriter pw = new PrintWriter(new OutputStreamWriter(soc.getOutputStream()));

  int dan = Integer.parseInt(br.readLine());

  String str = "";
  for(int i=1;i<=9;i++) {
   str += dan + " x " + i + " = " + (dan*i) + "\n";
  }

  pw.println(str);
  pw.flush();

  System.out.println("서버 종료됨");
 }
}