echo 3

UDP 프로그래밍 - 에코 클라이언트 / 서버 프로그래밍

UDP를 이용한 에코 클라이언트 / 서버 프로그래밍 에코 서버 프로그래밍 import java.net.*; public class UDPEchoServer { public static void main(String[] args) { if(args.length != 1){ System.out.println("사용법 : java UDPEchoServer port"); System.exit(1); } int port = 0; try{ port = Integer.parseInt(args[0]); }catch(Exception ex){ System.out.println("port 번호는 양의 정수로 입력하여 주세요."); System.exit(1); } DatagramSocket dsock = null; try{..

TCP 프로그래밍 - 멀티스레드를 이용한 에코 서버

멀티스레드를 이용한 에코 서버 서버가 클라이언트 여러 개를 동시에 처리하지 못하는 점을 해결하는 몇가지 방법이 있다. 그 중 한 가지 방법인 스레드를 이용한 방법을 사용한다. 서버는 연결된 클라이언트의 수만큼 소켓을 가지게 되는데, 각각의 소켓은 각각 별개로 동작해야 한다. 서버는 accept()로 대기하고 있다가 클라이언트가 접속하게되면 socket 객체를 반환하게 된다. 반환 받은 소켓은 스레드의 생성자에 전달된다. 그리고나서 스레드 객체를 시작하고 다시 메인 스레드는 accept()로 대기하게 된다. 실제로 클라이언트와 통신을 하는 것은 스레드 객체의 run() 메소드 안에서 일어난다. 멀티스레드 에코 서버 프로그래밍 import java.net.*; import java.io.*; public c..

TCP 프로그래밍 - 간단한 에코 클라이언트/서버 프로래밍

간단한 에코 클라이언트/서버 프로래밍 에코(Echo)는 말 그대로 메이리를 의미한다. 클라이언트가 보낸 데이터를 서버 쪽에서 받아들여, 클라이언트에게 그대로 다시 보내주는 것을 의미한다. 에코 클라이언트와 서버는 각각 다음과 같은 방식으로 동작한다. 에코서버 1. 10001번 포트에서 동작하는 ServerSocket을 생성한다. 2. ServerSocket의 accept() 메소드를 실행해서 클라이언트의 접속을 대기한다. 3. 클라이언트가 접속할 경우 accept() 메소드는 Socket 객체를 반환한다. 4. 반환 받은 Socket으로 InputStream과 OutputStream을 구한다. 5. InputStream은 BufferedReader 형식으로 변환하고 OutputStream은 PrintWr..