ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP / UDP
    고급 JAVA 2020. 5. 22. 18:37

    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

    댓글

Designed by Tistory.