본문 바로가기

아옳옳의 코딩공부/아옳옳 자바코딩공부

2021-05-20자바공부(네트워크 시험)

반응형

네트워크관련하여 시험을 보았던 부분을 정리해 놓자 

서버부분 ( 먼저 실행부분 ) 

public class Server {
    public static void main(String[] args) {

        BufferedWriter writer = null;
        BufferedReader reader = null;
        ServerSocket serverSocket = null;
        Socket socket = null;
        System.out.println("Starting Java Socket Server...");
        System.out.println("Listening at port 5001...");

        try {
            //서버 소켓 생성 
            serverSocket = new ServerSocket(5001);
            //소켓에 서버소켓 accept 여기서 클라이언트가 접속하길 기다린다. 
            socket = serverSocket.accept();
            //데이터 주고 받을  인/아웃풋 스트림 
            writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            
            //데이터 받아오기 
            String a = reader.readLine();
            //아이피 주소를 알아내기위하여 사용한 Inet소켓 
            InetSocketAddress isa = (InetSocketAddress) socket.getRemoteSocketAddress();

            System.out.println("A Client connected. host : +" + isa.getHostName() + ",  port :" +isa.getPort());
            System.out.println("INPUT :" + a);

            String b = a + "form Server";

            writer.write(b +"\n");
            writer.flush();

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                socket.close();
                serverSocket.close();
            } catch (Exception e) {
                System.out.println("클라이언트와 채팅 중 오류가 발생했습니다.");
            }
        }
    }
}

 

클라이언트 부분

public class Client {
    public static void main(String[] args) {

        BufferedWriter writer = null;
        BufferedReader reader = null;
        Socket socket = null;
        String a = "Hellow java";
        try {
            //소켓 생성 아이피주소 , 포트번호
            socket = new Socket("localhost", 5001);
            //읽고 쓸때 사용할 인/ 아웃풋 스트림
            writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            //클라이언트에서 실행함과 동시에 글자를 보내준다
            writer.write(a +"\n");
            writer.flush();

            //서버에서 보내준 글자 받아오기
            String b = reader.readLine();
            System.out.println(b);

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                socket.close();
            } catch (Exception e) {
                System.out.println("서버와 채팅 중 오류가 발생했습니다.");
            }
        }
    }
}

  이렇게 작성하고 순서대로 실행 했을때 

이렇게 서버가 클라이언트가 들어오길 기다리고 있다 

클라이언트가 실행되면 자신이 보낸 헬로 자바에 서비스에서 추가한 프롬 서버가 붙어있고 

이렇게 추가되어 출력된것을 볼수 있다.

 

오늘은 시험보고 인텔리제이에 대해서 간단하게 알아가는 시간이였어서 이정도 포스팅으로 마무리 하도록 하겠다.

반응형