728x90
반응형

//서버측 소켓

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerExample1 {


  public static void main(String[] args) {
   
    ServerSocket serverSocket = null;       //서버측 소켓
    Socket socket = null;                   //
    try{
      serverSocket = new ServerSocket(90);
      socket = serverSocket.accept();
      BufferedReader reader =

      new BufferedReader(new InputStreamReader(socket.getInputStream()));


      //BufferedReader reader = new BufferedReader(Reader객체)
      //InputStreamReader input = new InputStreamReader(InputStream객체)
      //즉  socket.getInputStream()이란 메소드에서 읽어온 클라이언트에서 보낸 데이터를
      //InputStreamReader 객체로 생성해서 BufferedReader를 생성 이라고 해야하나... 


      PrintWriter writer = new PrintWriter(socket.getOutputStream());


      //PrintWriter print = new PrintWriter(OutputStream객체)
      //역시 마찬가지로 socket.getOutputSream()는 보낼때 사용할 출력 스트림객체를 리턴
      //PrintWriter를 생성한다.이제 이렇게 생성된 writer안의 print라던지 println이라던지
      //하는 메소드를 사용하면 client로 메세지를 보낼수 있는것


      writer.println("안녕 클라이언트야?");


      writer.flush();

      // 파생 클래스에서 재정의될 때 이 스트림에 대해 모든 버퍼를 지우고 버퍼링된 데이터가

      // 내부장치에 쓰여지도록 한다

 

      String str = reader.readLine();
      System.out.println(str);
    }catch(Exception e){
      e.printStackTrace();
    }
    finally{
     try{
       socket.close();
     }catch(Exception ignored){
      
     }
     try{
       serverSocket.close();
     }catch(Exception ignored){
      
     }
    }
   

  }

}

//여기까지 서버측 소켓

 

//여기서부터 클라이언트 소켓

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class ClientExample1 {

  public static void main(String[] args) {
    Socket socket = null;
    try{
      socket = new Socket("220.70.27.18",90);
      BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
      PrintWriter writer = new PrintWriter(socket.getOutputStream());
     
      writer.println("써버님 안녕하세요?");
      writer.flush();
      String str = reader.readLine();
      System.out.println(new String(str));
    }catch(Exception e){
      e.printStackTrace();
    }
    finally{
      try{
        socket.close();
      }catch(IOException e){
       
      }
    }
  }
}

//여기까지 클라이언트 소켓

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,