JAVA Socket을 활용하여 간단한 통신하기 예제

728x90
방화벽을 오픈한 상태에서 동일 네트워크 상에 있는 2대의 PC로 진행하면 됨



[서버 측 예제 ]

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class NetTest3Server {

    public static void main(String[] args) {
        ServerSocket ss = null;
        
        Socket socket = null;
        try {
            ss = new ServerSocket(9998);
            System.out.println("서버 서비스 운영중....");
            socket = ss.accept(); // 클라이언트의 요청이 오면 소켓 객체를 만들어줌
            System.out.println("접속자 정보:" + socket.toString());
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            String data = reader.readLine();
            System.out.println("수신자료 :" + data);
            
            reader.close();
            socket.close();
            ss.close();
            
        } catch (Exception e) {
            System.out.println("server err : " + e);
        }
        
    }

}


[클라이언트 측 예제 ]

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.nio.BufferUnderflowException;
public class NetTest3Client {
       public static void main(String[] args) {
              try {
                     Socket socket = new Socket("192.168.0.54", 9998);
              
              // 요청 후 자료 서버로 전송
                     PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
                     out.println("Hi I'm espriter" + "\n");
                     out.close();
                     socket.close();
                     
                     
              } catch (Exception e) {
                     System.out.println("client err:" + e);
              }
       }
}

< 결과값 >

서버 서비스 운영중....
접속자 정보:Socket[addr=/192.168.0.54,port=56255,localport=9998]
수신자료 :Hi I'm espriter









본 포스팅은 IT 교육기관인 KIC 캠퍼스의 지원을 받은 리포트입니다.
혹시 잘못되거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.



728x90