참고사이트https://m.blog.naver.com/PostView.naver?blogId=irene-fts&logNo=221713585210&navType=by01. 채팅 서버 프로그램package xyz.itwill.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;import java.util.List;//채팅 서버 프로그램 - 다중 스레드 프로그램// => 클라이언트에서 보내온 메세지를 전달받..
01. UDP 프로토콜 프로그램실제 서버와 클라이언트의 개념은 따로 없음단지, 컴퓨터 간의 정보를 주고받는 (주는 컴퓨터와 받는 컴퓨터만 존재)DatagramSocket 클래스(연결시켜주는 클래스)와 DatagramPacket 클래스(보내거나 받는 클래스)를 이용하여 작성정보를 전달하는 컴퓨터와 정보를 얻어오는 컴퓨터로 구분하여 처리빠르게 보낼 수 있음데이타를 받자마자 바로 값으로 처리 가능 02. 메세지를 계속 보내는 프로그램보내기만함실제 성공적으로 잘 받았는지, 못받았는지 확인 불가능package xyz.itwill.net;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import j..
01. 네트워크 입출력프로그램과 프로그램 사이에 값을 보내거나 받는 것주의) 네트워크 프로그램은 여러 클라이언트가 접속할 수 있도록 일부러 무한루프를 발생시켜 이용함!TCP 프로토콜 : 서버 & 클라이언트UDP 프로토콜 : 주는 사람 & 받는사람 02. 📡 서버가 보내고 클라이언트가 받는 프로그램TCP 프로토콜 프로그램1 (소켓프로그램)서버가 보내고 클라이언트가 받는 방법연결형 프로토콜(연결 설정 후 통신 가능)소켓(Socket) 통신 1:1 연결전송 제어 프로토콜(신뢰할 수 있는 데이타 전송에 대한 통신규약)1) [서버] TimeServerApppackage xyz.itwill.net;import java.io.IOException;import java.io.ObjectOutputStream;im..
01. 내컴퓨터의 IP Address 확인하는법CMD IP주소 관련 명령어 이용//Windowsipconfigroute printnetstat -na 02. 내컴퓨터의 IPAddress 확인하는 프로그램package xyz.itwill.net;import java.net.InetAddress;import java.net.UnknownHostException;public class InetAddressApp { public static void main(String[] args) throws UnknownHostException { //📡 InetAddress : 네트워크 정보(IP Address와 HostName)를 저장하기 위한 클래스 //📡 InetAddress.getLocalHost()..
01. 네트워크(Network)2대 이상의 컴퓨터에서 값을 송수신하기 위한 기능인터넷이 없던 시절... 전화선만 이용해 송수신함 ( = PC통신)특정계층 사람들만 전화선을 이용해 값을 송수신함02. 인터넷(Internet)네트워크 기능을 제공하기 위한 가상의 공간 - 네트워크 관련 약속전 세계의 존재하는 컴퓨터들은 인터넷 공간 속에서 컴퓨터들끼리 값을 주고받음네트워크를 할 수 있는 전용 선이 나옴전세계 모든 사람들이 정보를 주고받을 수 있게 됨정보 공개를 목적으로 인터넷이 만들어짐!현재 네트워크 = 인터넷 이라 볼 수 있음03. 프로토콜(Protocol)인터넷을 사용하기 위한 네트워크 관련 통신규약굉장히 많은 약속들이 있음..그 중 우리가 알아야 할 프로토콜 :IP(Internet Protocol)TCP..
GUI프로그램도 파일 입출력을 할 수 있다! 의 초점맞춰서 코드 확인하기1) 기본package xyz.itwill.io;import java.awt.BorderLayout;import java.awt.FileDialog;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.B..
01. 객체 직렬화(Object Serialization)란?객체를 byte 배열(원시 데이타의 모임)로 변환하여 입력 또는 출력 처리하기 위한 기능을 제공1) 객체 직렬화의 필요성하나의 프로그램이 있고, 파일이 있다고 가정하자파일에서 프로그램으로 보낼 때, 프로그램에서 파일로 보낼 때 원시데이터로 밖에 못보낸다!그래서 여기서 부터 ~ 여기까지 하나의 객체야! 라는 것을 알려줘야한다.바로 그 기능이 객체 직렬화기능이다.그래서 실제 데이타가 보내질 때는 원시데이타형태이지만,객체직렬화를 통해 여기서 부터 ~ 여기까지 하나의 객체야!라는 것을 알 수 있다.2) 객체 직렬화 클래스로 선언하는 방법(필요에 따라 둘 중 하나 사용하기)방법1. Serializable인터페이스 상속받아 선언 - 더 많이 씀추상메소드가..
01. 스트림의 사용1) InputStream & OutputStream스트림의 사용파일업로드, 파일다운로드왜? 텍스트뿐만 아니라, 다양한 형태의 파일들도 읽어야하니대용량이다? BufferedInputStream & BufferedOutputStream로 확장하기InputStream & OutputStream을 확장해서 쓰는 경우가 많다!!!2) Reader & Writer스트림의 사용텍스트파일 읽을 때 (html)대용량이다? BufferedReader & BufferedWriter로 확장하기 02. (Data) 원하는 형태의 값들 파일에 저장하고 읽기1) DataOutputStreamApppackage xyz.itwill.io;import java.io.DataOutputStream;import j..