본문 바로가기

분류 전체보기

(256)
네트워크 관련 이론 ## IP ★★★ "Internet Protocol"의 약자로, 컴퓨터 네트워크에서 기기와 호스트 간의 통신을 위해 사용되는 주소 체계입니다. IP 주소는 컴퓨터, 서버, 라우터, 스마트폰 또는 다른 네트워크 기기를 식별하는 데 사용됩니다. # IP 주소는 다음 두 가지 주요 형식으로 나타낼 수 있습니다: IPv4 (Internet Protocol version 4): 32비트 숫자로 표현됩니다. 주소 형식은 "x.x.x.x"로, 각각의 "x"는 0부터 255 사이의 10진수 숫자입니다. 예를 들어, "192.168.1.1"은 흔히 사용되는 IPv4 주소입니다. 그러나 IPv4 주소 공간의 부족으로 인해 IPv6가 개발되었습니다. IPv6 (Internet Protocol version 6): IPv6 ..
Polymorphism활용_TV 1. Main public static void main(String[] args) { // 조립식 설정코드 TvFactory factory = new TvFactory();// 기본생성자로 불러오기. Tv tv1 = factory.create("Samsung");// 여기서 삼성을 엘지로 손수 바꿔줘도 되겠지만은..... Tv tv2 = factory.create("Lg"); // 실행코드 User user = new User(); user.setTv(tv2);// 여기에 tv1으르 넣는지 2를 넣는지에 따라 출력이 달라짐. user.watchTv(); } 2. TV(interface) // 자바 문법에서의 인터페이스? API들의 표준을 제공하는 것. // 1. 조립식 프로그래밍(-> 오버라이딩을 이용..
Thread활용_ChattingRoom_serverMain 1. ServerRecieveThread class class ServerRecieveThread extends Thread{ private String nickName; private Socket socket; public ServerRecieveThread(Socket socket) { this.socket = socket; } @Override public void run() { try { DataInputStream dis = new DataInputStream(socket.getInputStream()); while(true) { int command = dis.readInt(); // 1. 닉네임 설정 / 2. 메세지보내기 / 3. 종료 if(command == 1) { nickName = d..
Thread활용_ChattingRoom_clientMain 1. recieveThread class class RecieveThread extends Thread{ private Socket socket; public RecieveThread(Socket socket) { this.socket = socket; } public void run() { try { DataInputStream dis = new DataInputStream(socket.getInputStream()); while(true) { String message = dis.readUTF(); System.out.println(message); } }catch (Exception e) { //e.printStackTrace(); System.out.println("접속이 종료되었습니다"); } ..
Client Main @@ 내멋대로 summary - 내 ip주소 = localhost = 127.0.01 - socket.getOutputStream() : 전송할 내용 get - DataOutputStream : 읽을 수 있게 래핑하여 데이터를 송신할 준비 - dis.writeUTF(inputValue) : 데이터를 출력 4. server에 접속 시도를 할 클라이언트 생성 4-1) 직접적으로 IP주소 쓰는 방법 System.out.println("클라이언트 프로그램 시작"); Socket socket = new Socket("172.30.1.46", 7777); 4-2) 내부통신 하겠다? //172.30.1.31 = localhost ★★★ = 127.0.01 //--> 다 같은 표현임 System.out.println(..
Server Main @@ 내멋대로 summary - socket : 클라이언트와 연결할 수 있는 콘센트 - 포트넘버 : 콘센트의 모양 - accept : --> 생성하면 콘센트 뚜껑 연거임 --> 한 콘센트는 하나밖에 연결 못하지?? 얘도 여러명 받으려면 여러개 있어야해 - DataInputStream : scanner같은 존재 -> 데이터를 읽을때 유용!! # serverSocket - 소켓 서버를 만들기 위해 사용되는 클래스 - 클라이언트로부터의 연결 요청을 수신하고, 각 클라이언트와 통신할 수 있는 소켓 객체를 생성 - 생성된 소켓은 클라이언트와 서버 간의 데이터 통신을 가능하게 함 # ServerSocket을 사용하여 소켓 서버를 만드는 일반적인 절차 1. ServerSocket 객체를 생성하고 서버가 리스닝(대기)..
Network Basic ## 네트워크 통신 프로그래밍 # 특징: // 컴퓨터 프로그램이 네트워크를 통해 데이터를 송수신하고 상호작용하는 방법을 다루는 분야 // 네트워크 통신을 사용하면 원격 시스템과 통신하고 데이터를 공유할 수 있음 # ex) // A컴퓨터와 B컴퓨터가 연결이 되려면 주소가 필요하다 = IP, 포트번호 등 # IP주소(인터넷 프로토콜 주소) : 172.30.1.31 // 컴퓨터 네트워크에서 컴퓨터 또는 네트워크 장치를 고유하게 식별하기 위해 사용되는 숫자로 된 주소 // IP 주소는 인터넷 통신에서 데이터 패킷의 출발지와 목적지를 지정하는 데 사용됨 // 컴퓨터 및 네트워크 장치를 식별하고 데이터를 라우팅하는 데 중요한 역할을 함 // 일반적으로 개별 장치나 서버는 고정된 IPv4 또는 IPv6 주소를 가짐 ..
Thread_Ex class MyThread extends Thread { public void run() { for (int i = 1; i 이 때 InterruptedException이 발생할 수 있습니다. // 이 예외는 스레드가 잠자고 있는 동안 다른 스레드가 해당 스레드를 강제로 깨우거나 인터럽트했을 때 발생합니다. // // 따라서 Thread.sleep(1000);를 사용할 때는 try-catch 블록을 사용하여 // 스레드가 인터럽트되었을 때 발생하는 예외를 적절하게 처리하는 것을 통해 코드의 안정성을 확보하는 것이 좋습니다. // 두 개의 스레드 생성 MyThread thread1 = new MyThread(); MyThread thread2 = new MyThread(); // 스레드 시작 thread1..