ONLINE CLASS

자바 네트워크

COURSE FOCUS

이 강의에서 배우는 핵심 실무

자바의 Stream·Reader·Writer와 Thread를 다루며 파일 입출력과 작업 실행의 기초를 익힙니다. URLConnection으로 서버 데이터를 가져오고 HTTP 헤더를 확인한 뒤 UDP 클라이언트·서버를 만들어 통신 과정을 실습합니다. Swing의 긴 작업 처리와 NIO의 블로킹·논블로킹 예제를 비교하면서 네트워크 프로그램의 데이터 흐름과 실행 방식을 살펴봅니다.

?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

◆
기업이 선택한 신뢰 강의

검증된 커리큘럼과 전문 강사진으로 높은 만족도를 제공합니다.

자세히 보기  >
♥
수강료 일부는 사회환원에 사용됩니다.

작은 나눔이 더 나은 내일을 만듭니다.

자세히 보기  >
REAL REVIEW

수강생 리얼후기!

실제 수강생의 학습 경험을 확인해 보세요.

수강후기를 불러오는 중입니다.

RECENT Q&A

최근 수강질문

최근 등록된 수강질문을 작성순서대로 확인해 보세요.

ALZIO DEEP GUIDE

Java 네트워크 프로그래밍을 더 깊게 이해하기

16강의 입출력·스레드·주소·HTTP·TCP·UDP·Swing·NIO를 연결합니다. 에코·파일 전송·웹서버·진행률·CSV 예제의 실제 회차를 기준으로 통신 흐름과 화면 응답성을 함께 읽습니다.

공식 기술정보 확인16강 커리큘럼 연결2026 현재 기술정보

자바 네트워크 · 16강 · 13시간 31분

01

Java 네트워크 프로그래밍은 무엇인가

Java 네트워크 프로그래밍은 주소·소켓·스트림으로 프로그램 사이의 통신을 구성하는 분야입니다. 연결을 만든 뒤 어떤 자료를 어떤 순서와 형식으로 교환할지 정해야 합니다. 언어의 스레드·입출력과 통신 프로토콜의 역할을 구분합니다.

02

관련 플랫폼과 개발도구의 관계

java.net은 주소와 TCP·UDP 소켓 등의 API를 제공하고 java.nio.channels는 채널·선택자를 제공합니다. Swing은 데스크톱 화면의 입력과 표시를 담당합니다. 서버의 통신 처리와 화면의 이벤트 처리 스레드를 같은 작업으로 보지 않습니다.

03

Java 네트워크 프로그래밍의 핵심 기능

기술 자체의 기능과 이 강좌의 직접 학습 범위는 다릅니다. 아래 연결 표시는 저장된 공개 커리큘럼에 근거합니다.

스트림·문자

바이트와 문자의 입출력을 구분합니다. 파일과 통신 자료를 같은 코드에 연결할 때 인코딩이 중요합니다. 한 번 읽은 길이가 전체 자료 길이라고 가정하지 않습니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

주소·URL

주소와 자원 위치·연결 정보를 표현합니다. 요청 대상과 결과 헤더를 읽는 기반입니다. 이름 조회와 연결 성공은 다른 단계입니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

TCP 소켓

연결된 두 프로그램 사이에 바이트를 전달합니다. 서버·클라이언트의 요청 순서를 설계해야 합니다. 메시지 경계는 응용프로그램이 정의합니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

UDP 데이터그램

메시지 단위의 자료를 전송합니다. 에코·목록·파일 예제를 통해 수신과 응답을 이해합니다. 전달·순서 보장을 자동으로 기대하지 않습니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

SwingWorker

화면 이벤트와 긴 작업을 나누는 도구입니다. 진행률과 취소 상태를 UI에 연결할 수 있습니다. 작업 스레드에서 모든 화면 요소를 자유롭게 바꾸지는 않습니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인

NIO 채널·선택자

버퍼와 채널로 I/O를 처리하고 준비된 작업을 선택합니다. 여러 연결의 대기 상태를 구분할 때 유용합니다. 논블로킹이 코드 전체의 무대기를 보장하지 않습니다.

기술 참고 · 직접 학습 여부는 아래 회차 연결표에서 확인
04

이 과정의 실제 작업 흐름

1~2강에서 Stream·Reader·Writer·File·Zip과 스레드·콜백·Callable·Future·ExecutorService를 다룹니다. 3~5강은 InetAddress·URI·URL·URLConnection과 GET·POST·헤더를 연결합니다.

6~8강은 TCP 양방향 전송·다중접속·버퍼·웹서버이고 9~11강은 UDP 에코·파일 전송·목록·다운로드입니다. 12~15강은 Swing 레이아웃·긴 작업·취소·SwingWorker·JTable·CSV이며 16강에서 NIO 블로킹·논블로킹 클라이언트와 서버를 비교합니다.

  1. 입출력·스레드
  2. 주소·URL·헤더
  3. TCP 서버·클라이언트
  4. UDP 에코·파일
  5. Swing 화면·진행률
  6. NIO 대기 방식
05

핵심 구조를 이해하는 방법

TCP의 바이트 스트림은 응용프로그램 메시지의 경계를 자동으로 구분하지 않습니다. UDP는 데이터그램을 주고받으며 신뢰성과 순서를 TCP와 동일하게 가정할 수 없습니다. 블로킹·논블로킹은 I/O 대기 방식이며 프로토콜의 전송 특성과 별도로 이해합니다.

06

실무 적용과 결과 확인

6~11강의 에코와 파일 전송을 복습할 때 전송 문자열·받은 길이·응답 순서·종료 조건을 나누어 기록해 보세요. 인코딩이나 분할 수신 조건을 바꿔 보는 것은 추가 연습입니다. 예제가 모든 네트워크 실패를 처리한다고 확대하지 않습니다.

13~15강에서는 긴 작업 동안 버튼 입력·진행률·취소 결과가 어떻게 달라지는지 확인해 보세요. 화면 이벤트와 작업 스레드를 분리하는 응용 점검입니다. CSV import·export는 실제 제목에 있지만 모든 형식의 손상 파일 처리까지 확인된 것은 아닙니다.

07

이 강좌에서 집중할 전문주제

이 과정의 전문 축은 TCP와 UDP 예제의 대조입니다. 6~8강의 연결·다중접속·HTTP와 9~11강의 데이터그램·에코·파일 목록을 함께 보면 프로토콜과 응용 요청 순서를 구분할 수 있습니다.

두 번째 축은 통신·파일 작업과 Swing 응답성의 연결입니다. 13~14강의 Thread·SwingWorker·취소·진행률을 16강의 NIO 대기 방식과 비교하세요. 현재 가상 스레드나 새 HTTP 클라이언트 전체를 강좌에 포함했다고 주장하지 않습니다.

08

현재 기술과 강좌 환경의 관계

강좌의 정확한 JDK 릴리스는 저장된 공개 설명으로 확정하지 않습니다. URLConnection·SwingWorker·NIO는 실제 강좌 범위이며 현재 다른 HTTP API의 학습으로 대신 표시하지 않습니다.

Java SE 25 API는 기술 개념의 확인용 기준이며 강좌 버전이나 최신 릴리스라는 주장에 사용하지 않습니다. Swing 튜토리얼은 JDK 8 기준의 기존 자료임을 구분합니다. 현재 도구로 복습할 때 API의 변경·사용 조건을 확인하세요.

09

목적에 맞는 기술 선택과 비교

아래 비교는 목적과 작업 구조를 선택하기 위한 안내입니다. 다른 기술 전체를 본 강좌에서 가르친다는 뜻은 아닙니다.

목적에 맞는 기술 선택과 비교
선택지작업 접근이 강좌와의 관계
TCP연결 기반 바이트 스트림6~8강
UDP데이터그램 송수신9~11강
NIO채널과 I/O 대기 방식16강 · 프로토콜과 별도 축
10

기술개념과 알지오 커리큘럼 연결

회차는 공개 커리큘럼의 실제 순서입니다. 실습 후 응용 제안과 현재 기술 참고정보를 강의에서 제공하는 실습으로 해석하지 않습니다.

기술개념과 알지오 커리큘럼 연결
기능·개념무엇인가실무 의미강좌 회차학습 상태
입출력·스레드바이트·문자·작업 결과통신의 기반1·2강강좌에서 직접 학습
주소·HTTP 연결대상과 요청·헤더연결 결과 확인3·4·5강강좌에서 직접 학습
TCP·웹서버양방향·다중접속·HTTP요청 순서와 경계6·7·8강강좌에서 직접 학습
UDP·파일 전송에코·목록·다운로드전송 특성 구분9·10·11강강좌에서 직접 학습
Swing·긴 작업·CSV레이아웃·진행률·취소·표화면과 작업 책임12·13·14·15강강좌에서 직접 학습
NIO블로킹·논블로킹 예제I/O 대기 방식16강강좌에서 직접 학습
11

처음 배울 때 자주 생기는 오해

TCP가 메시지 단위를 나눠 주나?

바이트 스트림을 전달합니다. 자료의 경계는 응용프로그램이 정합니다. 6~8강의 읽기와 요청 순서를 함께 확인하세요.

UDP도 도착 순서를 보장하나?

TCP와 같은 보장을 가정하지 않습니다. 9~11강의 송수신 조건을 살펴보세요. 응답 누락과 순서를 별도로 처리해야 합니다.

URL을 만들면 연결도 성공한 것인가?

주소 표현과 연결은 다른 단계입니다. 4~5강에서 요청과 헤더를 구분합니다. 결과 상태를 확인해야 자료를 읽을 수 있습니다.

스레드를 만들면 UI를 마음대로 바꾸나?

Swing 화면 작업에는 스레드 규칙이 있습니다. 13~14강에서 긴 작업과 이벤트 처리를 나누세요. 작업 완료와 화면 반영도 구분합니다.

취소 요청은 즉시 모든 작업을 멈추나?

작업의 상태와 종료 처리를 확인해야 합니다. 13~14강의 취소와 진행률을 함께 읽습니다. 버튼 상태만으로 중단 완료를 판단하지 않습니다.

논블로킹이 모든 처리를 빠르게 만드나?

I/O 대기 방식의 차이입니다. 16강에서 블로킹과 논블로킹을 비교합니다. 자료 처리 비용과 오류 대응은 별도 문제입니다.

12

다음 학습 방향

파이썬 데이터분석 [기초]

Java 언어·클래스·자료구조 기반을 복습합니다.

자료 보기 →

Node.js

Node.js의 다른 서버·비동기 구조를 비교합니다.

자료 보기 →

Java 네트워크 프로그래밍 관련 과정 비교

입문·실무·심화 과정의 실제 커리큘럼을 목적에 맞게 비교합니다.

자료 보기 →

실습과 복습 계획

새 환경에서 예제를 확인하고 학습 계획을 세우는 방법을 살펴봅니다.

자료 보기 →

기술정보는 Oracle Java 공식 프로젝트의 공식자료를 기준으로 검토했으며, 강좌 범위는 자바 네트워크의 공개 커리큘럼과 구분했습니다.

공식 기술정보 확인일: 2026-10-05 · 강좌 업데이트일을 의미하지 않습니다.

자바 네트워크 자바 네트워크
  • 자바 네트워크

  • 강의구성
  • (16강) 전체 : 13시간 31분|평균 : 50분41초
  • 이용기간/강사
  • 1개월2개월
    알지오 R&D [IT]
  • 증빙가능
  • 수료증, 수강증, 학습진도
  • 수강료
  • 190,000원할인95,000원
?

수강 전 꼭 확인하세요

수강 전 자주 묻는 내용을 간단히 안내드립니다.

Q 초보자도 교재 없이 수강 가능한가요? 프로그램 정보는?
A

네, 영상과 실습자료로 쉽게 학습할 수 있습니다. 알지오는 원격평생교육원으로 프로그램 관련 정보는 제공하지 않습니다.

  • 01.36분 자바 IO
    Stream, Reader, Writer, File, Zip
    예제, InputOutputStream, InputStream, read, int, byte, 타입 특징, input, buf, read, LineSeparator, buf, exit, 실행, 입력, exit, OutputStream, String, byte, text.getBytes, System.out, write, flush, close, 실행, Reader 기초, System.in, readCount, char, LineSeparator, reader.read, String, exit, 실행, 입력, exit, Writer 기초, String, char, toCharArray, System.out, write, flush, close, FileInputStream 기초, File.separator, readCount, byte, try, read, 실행, english, FileOutStream 기초, String, Scanner, System.in, try, while, scan.nextline, write, System.LineSeparator, flush, 실행, write, 저장 확인, FileReader, read, char, try, fileName, reader.read, String, 실행, 비교, FileWriter 기초, String, Scanner, try, exit, FileWriter, flush, 실행, exit, 저장 확인, 데이터 처리, Filter Stream, byte, try, FileInputStream, ZipEntry, getNextEntry, zin.read, zin.colseEntry, 실행, ouputZipStream, String, Scanner, try, ZipEntry, nextLine, exit, write, LineSeparator, flush, 실행, exit, 저장 확인
  • 02.46분 Thread 기초와 데이터 반환 방법
    Thread 기초, 데이터 반환 방법, 폴링 방식, 콜백과 인스턴스 콜백, Callable Future ExecutorService
    thread, Process, Thread, 예제1, public class, run 함수, MessageDigest, getInstance, sha, try, catch, while, StringBuilder 클래스 생성, System.out.println, 결과 확인, Thread, start 함수, Runnable, run, MessageDigest, digest, 파일명 지정, Thread(run), 결과 확인, 로직 진행 전 인자값을 입력 받는 방법, fileName, 실행 로직 후 반환되는 값 처리, run, 예제, ExcuteThread, ExcuteThread, digest, getDigest, run, 경쟁 조건, Thread.sleep(2000), Thread에서 데이터 반환 방법, Thread에서 데이터 반환 방법 1, Thread에서 데이터 반환 방법 2, Thread에서 데이터 반환 방법 3, Polling 예제, ExcuteThread, InputStream 생성, th.getDigest, break, 결과 확인, Thread.sleep, Callback 예제, main 메소드, start, Runnable, getInstance, receiveDigest, 결과 확인, Polling, Callback 비교, Instance 예제, caculateDigest, Thread, this, run, callback, 예제, main 메소드, Integer, FindMaxTask, getRandomData, Integer, Random, return data, FindMaxTask, Callable, 예제 확인, FindMaxTask, max, return max, ExecutorService, service.shutdown(), 결과 확인
  • 03.38분 자바네트워크 프로그래밍
    IP to InetAddress, 여러개의 InetAddress, 로컬호스트의 InetAddress, InetAddress.getByAddress, CanonicalHostName, IPv4 IPv6인지 판단, InetAddress의 Equals
    InetAddress, 예제, InetAddress.getByName, InetAddress.getByName(호스트명), UnknownHostException, 결과 확인, InetAddress.getByName(ip주소), getHostName, 결과 확인, InetAddress.getAllByName, 결과 확인, 예제, InetAddress.getLocalHost, 결과 확인, 예제, byte address, InetAddress.getByAddress, 결과 확인, 예제, InetAddress.getByName(ip주소), getCanonicalHostName, 결과 확인, 예제, InetAddress.getLocalHost, IPv4, IPv6 구별, IPv4, IPv6, 결과 확인, 예제, Equals, InetAddress.getByName(호스트명), InetAddress.getByName(ip주소), 결과 확인, 예제, sbl.spamhaus 사이트, BLACKHOLE, main 메소드, isSpammer, isSpammer, private static boolean, getAddress(), for문, 최종 검색할 주소 확인, InetAddress.getByName(query), UnknownHostException, 결과 확인, 예제, weblog 확인, String filePath, InputStreamReader, for문, String entry, 공백 문자열, InetAddress.getByName(ip), 결과 확인, 예제, NUM THREADS, Executors.newFixedThreadPool, LinkedList, LogEntry, Queue LogEntry results, FileInputStream, InputStreamReader, LookupTask, call(), String rest, String hostName, unknown Host, executor.submit, LogEntry result, add, 결과 확인
  • 04.43분 URI/URL 객체를 이용한 데이터 처리 및 전송방식
    URL 기초, URL을 이용한 데이터 처리01 - openStream, URL을 이용한 데이터 처리02 - openConnection, URL을 이용한 데이터 처리03 - getContent, URL을 이용한 데이터 Form데이터 전송 - Get, Post 방식
    URI, URL, URI, 예제 주소 1, 예제 주소 2, URL, 예제 주소, URI, URL 내용 정리, URL 예제, 결과 확인, 예제, new URL, 결과 확인, 예제, URL u1, URL u2, URL u1 객체 생성, URL u2 객체 생성, 결과 확인, 예제, ClassLoader, 결과 확인, 예제, URL 객체 이용하여 데이터 가져오는 방법, URL 객체 이용하여 데이터 가져오는 방법 1, URL 객체 이용하여 데이터 가져오는 방법 2, URL 객체 이용하여 데이터 가져오는 방법 3, 예제 1, String, 해당 URL 브라우저 확인, new URL, openStream(), int, read(), write(), 결과 확인, InputStream, 예제, new URL, openStream(), BufferedReader, String line, 결과 확인, 예제, String ALZIO URL, new URL, openConnection(), getInputStream(), System.out.write, 결과 확인, 데이터를 가져오지 못한 이유, 예제, new URL, getInputStream(), readLine(), 결과 확인, 예제, new URL, 데이터 타입 - png 파일, 브라우저 확인, getContent(), 결과 확인, 예제, getContent(), 데이터 타입 - html 문서, 결과 확인, 예제, getContent(), getName(), InputStream, 결과 확인, 예제, Form Data, GET, 포스트 방식, GET 방식 차이점, 예제, Get Method, php, echo, get, encode, new URL, openConnection(), huc.getInputStream(), new BufferedReader, 결과 확인, 예제, echo, openConnection(), setDoOutput, setRequestProperty, getOutputStream(), writer.write, getInputStream(), String line, readLine(), 결과 확인
  • 05.46분 URLConnection 기초
    서버 데이터 가져오기, Http Header - ContentType 활용, Http Header - ContentLength를 활용한 Bin파일저장, Http Header - 래퍼 메소드와 Header 내용확인, 서버로 데이터를 전송하여 확인
    urlconnection, 예제, Scanner(System.in), nextLine(), openConnection(), contentType, if, int encodingIdx, encodingType, 서버에 데이터 읽어오는 예제, getInputStream(), BufferedReader reader, while, readLine(), url, contentType, charset, urlconnection, 예제, new Scanner, Url 주소 입력, nextLine(), openConnection(), new BufferedReader, readLine(), System.out.printIn, MalformedURLException, 실행, 예제, urlStr, URL url, url.openConnection(), getContentLength(), getInputStream(), byte 배열 생성, bis.read(), url.getFile(), FileOutputStream, 실행, 이미지 확인, urlconnection Header, 예제, scan.nextLine(), url.openConnection(), getDate(), getLastModified(), getExpiration(), getContentLength(), 실행, 예제, scan.nextLine(), int, while(true), getHeaderFieldkey, 실행, 예제, String, php echo, new URL, openConnection(), getOutputStream(), new BufferedWriter, 예제, uc.getInputStream(), String line, 실행
  • 06.39분 TCP 자바네트워크 통신1
    TCP 네트웍 통신 기초, 서버 전송, 클라이언트 수신, 스레드 개선, 서버 수신, 클라이언트 전송, Reader, Writer 개선
    tcp 통신, Server, Client, Server, accept(), read(), write(), Client, socket(), connect, write(), read(), close(), 예제1, Server 소켓을 생성(포트번호), accept(), Blocking 함수, socket.getInetAddress(), InputStream, System.out.println(), 클라이언트, socket.getInetAddress(), socket.getInputStream(), socket.getOutputStream(), close(), 서버 실행, accept(), 클라이언트 연결 생성, 예제2, Server소켓 생성, accept(), getInetAddress(), getOutputStream(), BufferedOutputStream(), Date currentDate, SimpleDateFormat, BufferedOutputStream, bos.write(buf, 0, buf.length), 클라이언트 예제, socket.getInetAddress(), socket.getInputStream(), socket.getOutputStream(), new BufferedInputStream, int read, String line, read, is, os, socket, 서버 실행, 클라이언트 실행, TCP - Server Client통신 (Reader/Writer), 예제, socket.getInetAddress(), OutputStream, BufferedWriter, Date, SimpleDateFormat, format(currentDate), writer, writer.newLine(), writer.flush(), close()
  • 07.1시간 13분 TCP 자바네트워크 통신2
    현재 시간 문자열 전송, 수신 - Client 통신, 다중접속 가능한 서버(Thread 적용) - Server 통신, 다중접속 가능한 서버(Thread 적용) - Client 통신, 클라이언트에서 입력받은 문자열 전송 - Server, Client 통신, 클라이언트에서 입력받은 문자열 전송(Reader, Writer 개선) - Server, Client 통신, 클라이언트 TCP 통신(OutputStream 사용), 클라이언트 TCP 통신(Writer 사용), 서버, 클라이언트 TCP 통신(Buffered InputStream, OutputStream 사용), 클라이언트 TCP 통신(Thread사용), 서버 TCP 통신(Thread사용)
    Client 통신 - 현재 시간 문자열 전송/수신 예제, Socket, InetAddress, InputStream, BufferedReader, readLine(), reader.readLine(), 서버 실행, 서버에서 현재시간 전송, 클라이언트 실행, Thread 예제, new ServerSocket, server.accept(), new Thread, Runnable, run(), socket.getInetAddress(), BufferedWriter, socket.getOutputStream(), new Date(), SimpleDateFormat, write(formattedDate), finally, close(), 서버 포트 입력, socket.getInputStream(), String line, while, close(), 서버 실행, Thread, 클라이언트 실행, 서버 확인, 클라이언트 확인, Server/Client 통신 예제, new ServerSocket, accept(), inetAddr, socket.getInputStream(), int read, close(), 클라이언트, new Socket(서버 주소, 포트), socket.getInetAddress(), System.in, scan.nextLine(), socket.getOutputStream(), os, text.getBytes(), close(), 실행, 문자열 입력, Reader/Writer - Server/Client 통신 예제, new ServerSocket, socket.getInetAddress(), BufferedInputStream, byte 배열, String line, new String(buf, 0, read), 클라이언트 TCP 통신(OutputStream) 예제, Socket, socket.getInetAddress(), Scanner, scan.nextLine(), socket, OutputStream, getBytes(), flush(), scan, os, socket close(), 서버, 클라이언트 실행, 클라이언트, Socket, socket.getInetAddress(), Scanner(System.in), scan.nextLine(), socket.getOutputStream(), bos.write, flush(), scan, bos, socket close(), 클라이언트 실행, 서버 클라이언트에게 받은 문자열, 클라이언트 TCP 통신(Writer) 예제, ServerSocket, accept(), getInetAddress(), socket.getInputStream(), BufferedReader, String line, readLine(), reader.close(), server.close(), 클라이언트 소스, Socket, getInetAddress(), System.in, nextLine(), getOutputStream(), new BufferedWriter, writer, writer.newLine(), close(), 실행, 클라이언트 예제, Socket, socket.getInetAddress(), Scanner, while(true), nextLine(), if, break, writer, writer.newLine(), writer.flush(), scan, writer, socket, close(), ServerSocket, accept(), Thread, thread.start(), Runnable, run(), getInetAddress(), reader, InputStreamReader, String, reader.close(), 실행, 서버로 전송하고 싶은 문자열 입력, exit 문자열
  • 08.1시간 1분 TCP 자바네트워크 통신3
    Web서버 소스코드 설명 및 실행, HTTP 통신방식, JHTTP main 메소드, RequestProssessor
    TCP 통신 활용한 웹 서버 구현, 웹 서버 통신, 웹 서버 통신 과정 이미지, Browser, Server, main, int port, Integer, port, encoding, args, readAllBytes(path), URLConnection.getFileNameMap(), start(), ArrayIndexOutOfBoundsException, System.out.println, IOExcepion, Logger, Logger.getLogger, content, header, port, encoding, 첫 번째 생성자, String data, encoding, mimeType, port, 두 번째 생성자, encoding, this, byte data, encoding, mimeType, port, header, Server, Content-length, Content-type, getBytes(), Executors.newFixedThreadPool(), try, while(true), server.accept(), HTTPHandler, submit, try, log, HTTPHandler, Callable, Callable, HTTPHandler 생성자, getOutputStream(), getInputStream(), BufferedOutputStream(), BufferedInputStream(), OutputStream, InputStream, append(), out.flush(), finally, return null, 웹서버 예제, 알지오 홈페이지 예제, Run Configurations, 주소 입력, 포트, GET, 웹서버 예제, 통신 방식 과정 이미지, 클라이언트 역할하는 Browser, Browser, 요청 headers 전송, Web page 경로 탐색, JHTTP 자바 파일, RequestProcessor.java, JHTTP, Logger.getLogger, NUM_THREADS, rootDirectory, int port, main 메소드, args, new File, Integer.parseInt, JHTTP 생성자, rootDirectory, port 번호, rootDirectory, NUM_THREADS, try, ServerSocket, Logger, server.accept(), Runnable, pool.submit(), rootDirectory.getCanonicalFile(), rootDirectory.getPath(), OutputStream, Writer, Reader, US-ASCII, while(true), Logger.info, HTTP 메소드, split(), tokens, method.equals, if, sendHeader, flush(), String contentType, getFileNameMap(), Logger.info, File(rootDirectory, fileName), byte, raw.flush()
  • 09.1시간 7분 UDP 통신1
    UDP 통신 기초 이론UDP Daytime Client 예제 및 실행, UDP Discard서버, UDP Discard클라이언트 및 실행, UDP Echo서버-UDPServer, UDP Echo서버-UDPEchoServer
    else, sendHeader, out.write(), method, String, body.length(), out.flush(), JHTTP 객체 실행, Run Configurations, locallhost, Console 확인, UDP 통신, TCP와 UDP의 차이점, TCP 통신, 신뢰성 있는 전송, UDP 통신, UDP 실습하기, UDP 예제, package, Logger, PORT 번호, main 메소드 확인, Logger.info, new DatagramSocket, socket.setSoTimeout(), InetAddress host, new DatagramSocket, socket.send(), socket.receive, receivedPacket.getData(), Logger.info, receivedPacket.getPort(), 네트워크통신에서 가장 중요한 예외처리, SocketException, UnknownHostException, IOException, 서버 UDP 통신, package, Logger.getLogger, try, UDP 통신, 클라이언트, 무한 루프, 서버, TCP 통신, new DatagramPacket, socket.receive(), String daytime, getBytes(), request.getAddress(), request.getPort(), 실행, 서버 로그 확인, 클라이언트 확인, UDP 통신, Discard 서버 클라이언트, server, Logger.getLogger, MAX_PACKET_SIZE, Logger.info, new DatagramSocket, while(true), String 타입으로 변환, UTF-8, Logger.info, receivedPacket.setLength, 클라이언트 확인, package, Logger.getLogger, main 메소드 확인, Logger.info, InetAddress.getByName(), InputStreamReader(System.in), While(true), userMessages.getBytes(), socket.send, SocketException, UnknownHostException, IOException, 실행, 결과 확인, DiscardServer 실행 확인, 클라이언트 실행 확인, 메시지 전송하기, UDP 통신을 이용한 echo 서버와 클라이언트, 객체지향 개념 적용하기, UDP 서버, abstract class, Logger.getLogger(), isShutDown, run(), new DatagramSocket(port), socket.setSoTimeout(), if(isShutDown) return, receive(), SocketTimeoutException, respond, ShutDown(), echo 서버, package, Logger.getLogger(), respond 메소드, getAddress(), getPort(), shutDown(), UDPEchoServer()
  • 10.57분 UDP 통신2
    Echo 클라이언트 클래스, UDPRequest 로직, UDPEchoClient 메인 함수 부분, UDPEchoClient의 SenderThread 로직, UDP 에코 클라이언트 - ReceivedThread 설명, UDP 파일 전송 서버 예제, UDP 파일 수신 클라이언트 예제 및 실행, UDP 파일 목록 조회 서버 예제, UDP 파일 목록 조회 클라이언트 예제
    UDP Echo 클라이언트 서비스, getLogger(), default_port, InetAddress.getByName(), UDPRequest, udpRequest.request(), Logger.info, InetAddress.getByName, class명 지정, getLogger(), buffersize, timeout, host, port, int buffersize, InetAddress host, int port, request(), getBytes(), DatagramPacket, socket.setSoTimeout(timeout), socket.connect(host, port), byte buffer, socket.receive(), int receivedLength, return, UDP Echo 서버 실행, 결과 확인, 서버 확인, 효율적인 UDP 통신 처리하기, 예제 확인, InetAddress.getByName(), 송신과 수신을 각 Thread로 분리, new SenderThread, start(), SenderThread, Logger.getLogger, boolean stopped, SenderThread, connect(server, port), halt(), run(), while, logger.info, datagrampacket, send(), ReceiverThread, ReceiverThread, halt(), while, receive(), Thread.yield(), 실행, 결과 확인, UDP 파일 전송 통신, TARGET_FILE_NAME, BufferedReader, DatagramPacket, socket.receive, if, BufferedReader, receivePacket.getAddress(), receivePacket.getPort(), Exception, finally, UDPClient 예제, try, DatagramPacket, send(), receivePacket.getAddress(), receivePacket.getData(), 실행, 결과 확인, txt 파일 확인, 서버의 파일목록을 클라이언트에게 전달하는 예제, server, HOST, PORT, GUBUN, try, receive(), list(), GUBUN, getPort(), datagrampacket 인자, send(), localhost, main 메소드 확인, InetAddress
  • 11.59분 UDP 통신3
    UDP 파일 목록 조회 클라이언트 예제, UDP 다중 로직 클라이언트, 파일 목록 조회, 파일 다운로드
    receivepacket, socket.send(), receivepacket.getlength(), string 생성자, return, split(), for, 실행, 결과 확인, server 결과 확인, 파일 목록 조회, 파일 전송 및 수신 예제, 구현도 확인, filelist, transfer, 클라이언트 설명, logger 객체 생성, main 메소드, try, inputstreamreader(system.in), while(true), readline(), else if, processtransfer, else if, break, processfilelist 메소드 확인, mode_file_list, target_folder, senddata.getbytes("utf-8"), send(), receive(), getaddress(), getlength(), logger.info, parsereceiveddata(), split(), unknownhostexception e, 원하는 파일을 다운로드 할 경우 처리되는 로직, readline(), processtransfer(), mode_transfer, send(), receive(), getlength(), unknownhostexception e, udpserver, target_file_name, main 메소드 확인, while(true), receive(), process(), processfilelist(), exists(), for, tostring(), processtransfer(), bufferedreader 객체 생성, sb.append(), 실행, 결과 확인, jsoup : java html parser, 환경구축, jsoup 다운로드, properties, html 문자열을 jsoup 라이브러리가 파싱하는 예제, jsoup.parse(html), outerhtml(), 실행, 결과 확인, body에 있는 내용만을 추가하는 예제, jsoup.parsebodyfragment(), doc.body(), 실행, 결과 확인, url에 접속하여 html을 가져오는 예제, jsoup.connect, data(), 홈페이지 카테고리를 추가 확인, post(), 실행, 결과 확인, html 파일을 jsoup 라이브러리로 파싱하는 예제, jsoup.parse(), 실행, 결과 확인, html을 파싱하고, 분석하는 예제, get(), 브라우저 화면을 통하여 가져올 대상 확인, f11 (개발자 도구), getelementsbyclass, html 파싱 예제, data(), get(), 브라우저의 상세내용 확인
  • 12.55분 Swing1
    Swing Hello world 예제, 레이아웃 설명, FlowLayout 실습, BorderLayout 실습, GridLayout, MixLayout 실습, Swing 컴포넌트 : TextField, Button Event처리, 체크박스, 파일선택 Dialog, 파일선택 Dialog with FileFilter, 자바 I, O Reader with Swing
    java swing, 기본 생성자, setdefaultcloseoperation, settitle, jlable, init(), flowlayout, jframe, settitle, init(), flowlayout, 컴포넌트 추가하기, flowlayout 클래스 생성, pack(), 실행, 결과 확인, borderlayout, jframe, settitle, init(), setlayout, new borderlayout(), add(), main 메소드 확인, init(), pack(), setvisible(), 실행, 결과 확인, borderlayout(int hgap, int vgap), gridlayout, setdefaultcloseoperation, init(), gridlayout(int row, int cols), 실행, 결과 확인, mixlayout, init(), jpanel(), setlayout(), 두 번째 panel 생성, setlayout(), jframe, 실행, 결과 확인, 기본 컴포넌트, checkbox 컴포넌트, jframe, init(), allcheck 변수 기능, actionperformed, isselected(), 전송버튼 추가, addactionlistener, main 메소드 확인, init(), 실행, 결과 확인, 다이얼로그, actionlistener, jfilechooser, filechooser, jtextarea, addactionlistener(this), openbutton, getsource(), showopendialog, getselectedfile(), 실행, 결과 확인, 파일 필터 기능, filechooser, getdescription(), accept(), return false, openbutton, borderlayout(), getsource(), 실행, 결과 확인, 자바 IO, filechooser, jframe, seteditable(false), getcontentpane(), e.getsource(), getfilecontent, bufferedreader, reader.readline(), message.append, 실행, 결과 확인
  • 13.1시간 8분 Swing2
    Java I, O File Reader 개선, Java I, O File Writer 개선, Long Work를 Inline으로 처리, Long Work를 Thread로 처리, Long Work를 중간에 중지하기
    Java I/O File Reader 개선, actionlistener, setdefaultcloseoperation, filefilter(), getdescription(), accept(), return false, 열기버튼 생성, message.seteditable(false), borderlayout(), add(), actionperformed(), filechooser.showopendialog, getfilecontent(), while, append(), printstacktrace(), 실행, 결과 확인, filewriter 예제 1, 파일 쓰기 기능 추가하기, jframe, actionlistener, textfilechooser, dirchooser, setacceptallfilefilterused, getdescription(), return false, directories_only, seteditable(false), flowlayout(), northpanel, 버튼을 눌렀을 때 이벤트 처리하기, actionperformed(), getsource(), textfilechooser.showopendialog, getselectedfile(), getfilecontent(), stringbuilder, while, return sb.tostring(), dirchooser, getselectedfile(), if, return, writefile 메소드, new bufferedwriter, return true, 실행, 결과 확인, filewriter 예제 2, init(), isdirectory(), addactionlistener(), new jpanel(), getcontentpane(), actionperformed(), getsource(), showopendialog(), textfilechooser, getfilecontent(), message.append(), string line, lineseparator(), writefile(), new bufferedwriter, 실행, 결과 확인, swing 예제에서 thread 처리시 발생하는 문제점, 사용법, 예제 1, 생성자 구현, setactioncommand(), while, thread.sleep, 구성한 요소 배치하기, northpanel.setlayout, add(), pane.add(), 실행, 결과 확인, 예제 2, 구성 요소, init(), set.actioncommand(), thread.sleep(), setactioncommand(), new actionlistener(), actionperformed(), while, thread.start(), add(), northpanel, pane.add(), init(), pack(), setvisible(), 예제 3, exit_on_close, setactioncommand(), thread.sleep(), thread 처리 하는 부분, addactionlistener, new thread, getactioncommand(), run(), 중지요청이 들어왔을 때 종료 되는 부분 살펴보기, thread.currentthread(), isinterrupted(), try, catch, setactioncommand(), interrupt(), interrupt(), setenabled(), getcontentpane(), pack(), setvisible(), 실행, 결과 확인
  • 14.54분 Swing3
    Swing worker를 이용하지 않았을 경우, Swing worker를 이용한 경우, Swing worker 진행률처리 설명 및 예제, Swing worker 진행률처리(취소) 예제, Swing Worker를 이용하지 않은 파일 복사 예제, Swing Worker를 이용한 파일 복사 예제, Swing Worker를 이용한 파일 복사 진행률 표현 예제
    별도의 thread, ui 작업을 하지 않았을 경우 예제, setdefaultcloseoperation, new jbutton, setenabled(false), add(), init(), 실행, 결과 확인, swingworker를 사용한 경우 예제, init(), addactionlistener(), waitworker, override, thread.sleep(), init(), pack(), setvisible(), 실행, 결과 확인, 진행률 처리 예제, settitle, add(), swingworker, max count, sleep time, while문, return, addpropertychangelistener, propertychange(), pcevt.getpropertyname(), setvalue(), 실행, 결과 확인, 취소하고자 하는 버튼 추가하여 구현하는 예제, jprogressbar, init(), 취소버튼 생성, setenabled(), propertychange(), setvalue(), addactionlistener, 취소버튼 비성화, 진행버튼 활성화, add(), thread.sleep(), 실행, 결과 확인, 파일 선택, 선택한 파일 복사 하는 예제, 파일 저장시 swingworker를 사용하지 않을 경우 예제, jpanel, jbutton, jfilechooser 설정, init(), setacceptallfilefilterused(), accept(), getname(), 파일 열기 생성, setactioncommand(), addactionlistener, jbutton 생성, jtextarea 컴포넌트 추가, flowlayout, borderlayout(), borderlayout.center, actionperformed, getactioncommand(), 열기 버튼 이벤트 살펴보기, showopendialog, if, getselectedfile(), 저장 버튼 이벤트 살펴보기, showsavedialog, writefile(), bufferedinputstream, bufferedoutputstream, int read, while문, write(), return false, showsavedialog(), log.append, init(), pack(), setvisible(true), 실행, 결과 확인, 지난 예제를 이용하여 개선하는 예제, jprogressbar, init(), open, save 변수 생성, log 변수 생성, progressbar 생성, flowlayout(), main panel 생성, progressbar 추가, 열기 버튼 클릭했을 때 처리하는 이벤트 살펴보기, open action command, 저장 버튼 클릭했을 때 처리하는 이벤트 살펴보기, actioncommand, 주의깊게 살펴볼 점, filecopyworker, return null, totalsize, progress, int read, percent, write(), return percent, addpropertychangelistener, propertychange, execute(), 실행, 결과 확인
  • 15.34분 JTable
    배열을 사용한 예제, Vector를 사용한 예제, Csv파일 Import 기능, export 기능
    JTable 기본 array 사용 예제, exit_on_close, init(), add(), init(), 실행, 결과 확인, 2차원 배열, 벡터, 컬렉션 벡터를 사용하여 jtable을 구현하는 예제, defaulttablemodel, 생성자, 닫기 옵션, init(), addelement(), addrow(), main 메소드, 실행된 화면 확인, csv 파일 예제, jfilechooser, setdefaultcloseoperation, init(), setacceptallfilefilterused(false), accept(), addactionlistener(), e.getactioncommand(), showopendialog, getabsolutepath(), readfile(), arraylist, while, split(구분자 기호), if, else, resultmap.put(), printtable, get(), setcolumnidentifiers(), setmodel(), printtable, 화면에 표시할 데이터 확인, 텍스트 파일 열기로 화면 출력하기, 화면의 구성, imort, export 할수 있는 예제, jpanel 선언, jfilechooser 추가, 생성자, init(), jfilechooser 생성, seteditable(false), addactionlistener(), add(), readfile(), 조건문, showsavedialog(), writefile(), defaultmodel, getcolumnname(), getrowcount(), getvalueat(), 캐리지 리턴, 라인 피드, return true, 실행, 결과 확인, 파일 저장 여부 확인
  • 16.35분 NIO
    NIO를 이용한 문자생성기 클라이언트(Blocking 방식), NIO를 이용한 문자생성기 클라이언트(Non-Blocking 방식), NIO를 이용한 문자생성기 서버, NIO를 이용한 에코서버
    nio를 이용한 문자발생기 예제, 문자발생기 이미지 확인, 아스키코드, nio를 이용한 클라이언트 예제, 클라이언트 살펴보기, new inetsocketaddress(), open(), bytebuffer, 캐리지 리턴, 라인 피드, 표준출력에 데이터 출력하기, read(), flip(), write(), clear(), 실행, 결과 확인, 아스키코드 값 확인, NonBlocking I/O 예제, open(), NonBlocking 방식, system.out, NonBlocking, read(), 무한 루프 구문, clear(), 실행, 결과 확인, server 살펴보기, 아스키 코드(문자열) 지정, for문, 스페이스 문자열 키 코드값(32번), 서버소켓채널 객체를 생성, NonBlocking i/o 방식, open(), bind(), NonBlocking i/o 방식 사용, 셀렉터 생성, register(), 클라이언트와 연결하고 데이터 전송하기, NonBlocking i/o 방식, selectedkeys(), iterator.next(), op_accept, channel(), register(), attachment(), rewind(), flip(), try, catch문, close(), 실행, 결과 확인, 문자열 생성기 예제, 에코 서버와 클라이언트 살펴보기, echoserver, open(), while문, selectedkeys(), iterator.remove(), accept(), register(), channel(), flip(), compact(), 실행, 결과 확인

강의목록 다운로드                        1:1 강의 질문&답변






도움이 필요하신가요?
💬
알지오 학습·수강 도우미
운영진이 확인한 안내를 자세히 보고, 필요하면 바로 상담하세요.
상담 상태 확인 중