-
TCPServer
public class TcpServer { public static void main(String[] args) throws IOException{ //TCP 소켓 통신을 하기 위해 ServerSocket객체 생성 ServerSocket server = new ServerSocket(7777); // IOException 예외 던지고~ System.out.println("서버가 접속을 기다립니다."); // accept() 메서드는 Client에서 연결 요청이 올 때까지 계속 기다림. // 연결요청이 오면 Socket객체를 생성해서 Client의 Socket과 연결함. Socket socket = server.accept(); // 여기서 멈춤 (클라이언트가 소켓 요청을 할때까지) server socket 을 받으려구 => 상대방과 둘만의 대화를 하려고 만든 socket 이거 있어야함 //상대방이 접속할때까지 실행 멈춤 //-------------------------------------------------- //이 후는 클라이언트와 연결된 후의 작업을 진행하면 된다. System.out.println("접속한 클라이언트 정보"); System.out.println("주소 : "+ socket.getInetAddress()); // Client에 메세지 보내기 // OutputStream객체를 구성하여 전송한다. // 접속한 Socket의 getOutputStream() 메서드를 이용하여 구한다. OutputStream out = socket.getOutputStream(); DataOutputStream dos = new DataOutputStream(out); dos.writeUTF("이이이잉 기모링");// 메세지 보내기 System.out.println("메세지를 보냈습니다."); dos.close(); } }
TCPClient
public class TcpClient { public static void main(String[] args) throws UnknownHostException, IOException { String serverIp = "127.0.0.1"; //자기 자신 컴퓨터를 나타내는 방법 //IP : 127.0.0.1 // 컴퓨터 이름 : localhost System.out.println(serverIp + "서버에 접속 중입니다."); // 소켓을 생성해서 서버에 연결을 요청한다. Socket socket = new Socket(serverIp, 7777); // 7777이란 포트번호는 server를 생성할때의 port번호랑 동일해야함 //연결이 완료되면 이후의 명령이 실행된다. System.out.println("연결되었습니다."); //서버에 온 메시지 받기 //메시지를 받기 위해 InputStream객체를 생성한다. //Socket의 getInputStream() 메서드를 이용한다. InputStream is = socket.getInputStream(); DataInputStream dis = new DataInputStream(is); //서버로부터 받은 메시지 출력하기 System.out.println("받은 메시지" + dis.readUTF()); System.out.println("연결 종료"); dis.close(); } }
'고급 JAVA' 카테고리의 다른 글
Non-terminating decimal expansion; no exact representable decimal result. (0) 2021.05.11 javaFX 라이프 사이클 (0) 2020.05.22 InetAddress 클래스 (0) 2020.05.22 JavaFX 정리 (0) 2020.05.16 API (0) 2020.04.24