Echo Server/Client

1. Echo Server


?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
 
public class EchoServer {
 
    public static void main(String[] args) throws IOException {
        int portNumber = 30000;
 
        ServerSocket serverSocket = new ServerSocket(portNumber);
        Socket socket = serverSocket.accept();
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
 
        String echo;
        while ((echo = in.readLine()) != null) {
            System.out.println("echo: " + echo);
            out.println(echo);
            out.flush();
        }
         
        in.close();
        out.close();
        socket.close();
        serverSocket.close();
    }
}

2. Echo Client


?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
 
public class EchoClient {
 
    public static void main(String[] args) throws UnknownHostException, IOException {
        String hostName = "127.0.0.1";
        int portNumber = 30000;
 
        Socket socket = new Socket(hostName, portNumber);
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
 
        String userInput;
        while ((userInput = stdIn.readLine()) != null) {
            out.println(userInput);
            out.flush();
            System.out.println("echo: " + in.readLine());
        }
 
        in.close();
        out.close();
        socket.close();
    }
}

댓글

이 블로그의 인기 게시물

파일처리(한번에 모두읽기, 라인단위로 읽기, 쓰기, 리스트처리, 특정길이만큼 읽기)

AWS 가용성,확장성

math 함수 쓰기