본문 바로가기

분류 전체보기

(354)
1:1 단방향 통신 (클라이언트측) PrintWriter 사용 이유편리한 메서드: print(), println(), printf()와 같은 메서드를 제공하여 다양한 형식의 데이터를 손쉽게 출력할 수 있다.자동 플러시(autoFlush): PrintWriter를 생성할 때 autoFlush를 true로 설정하면, println() 등의 메서드를 호출할 때 자동으로 버퍼가 플러시되어 데이터를 즉시 전송한다. 이는 네트워크 소켓과 같이 실시간 데이터 전송이 중요한 경우에 유용하다.버퍼링: 출력 데이터를 버퍼에 저장한 후 한 번에 출력하여 성능을 향상시킨다. 필요시 flush() 메서드를 호출하여 강제로 데이터를 출력할 수도 있다. 주요 메서드print() : 다양한 데이터 타입을 출력한다. (문자열, 정수, 부동 소수점 등)println() ..
1:1 단방향 통신 (서버측) 서버  측 기본 코드 작성의 목적네트워크 프로그래밍을 시작하면서 가장 먼저 배워야 할 것은 서버와 클라이언트 간의 통신이다. 서버는 클라이언트의 요청을 받아들이고, 클라이언트가 보내는 데어티를 처리하는 역할을 한다. 서버 측 코드를 작성 해보는 이유는?네트워크 통신의 기초 이해서버는 네트워크 통신의 핵심 역할을 한다. 서버 측 코드를 작성함으로써 우리는 네트워크 통신의 기본 개념을 이해할 수 있다. 서버 소켓 (ServerSocket) 생성 : 네트워크 역할을 기다리는 소킷이다.포트 바인딩 : 특정 포트 번호에 서버 소켓을 결합하여 외부에서 접근할 수 있도록 한다.클라이언트 연결 수락 : 클라이언트가 서버에 연결할 수 있도록 대기하고, 연결 요청을 받아들인다.  데이터 송수신 이해서버 측 코드에서 클라이..
Socket (소켓) Socket (소켓) 이란?소켓은 네트워크 상에서 통신을 가능하게 하는 끝점을 의미한다. 두 컴퓨터 간의 데이터를 주고받기 위해 사용되는 인터페이스로, 소켓을 통해 네트워크 연결을 설정하고 데이터를 송수신할 수 있다. 쉽게 말해, 소켓은 네트워크를 통해 다른 컴퓨터와 대화하는 전화기 같은 역할을 한다. (소켓은 사실 파일 개념과 같다)소켓은 물리적인 장치가 아니라 추상적인 개념의 약속이다. 네트워크 통신을 위해 소프트웨어적으로 정의된 인터페이스로, 컴퓨터 간의 데이터 교환을 가능하게 하는 규칙과 방법을 의미한다. 이를 통해 네트워크 애플리케이션이 서로 통신할 수 있다. 소켓은 컴퓨터 네트워킹에서 매우 중요한 역할을 하며, 특히 자바 I/O에서 자주 사용된다. 💡 일반 사용자 컴퓨터에서 네트워크 통신에 ..
고수준 스트림 ( Data / Object Stream ) DataInputStream 과 DataOutputStreamDataInputStream 과 DataOutputStream은 자바의 I/O 스트림 클래스 중 하나로, 원시 자료형(정수, 실수, 문자 등)을 쉽게 읽고 쓸 수 있도록 도와준다.이 두 클래스는 데이터의 형식을 유지하면서 입력 및 출력을 수행할 수 있어, 자료의 손실 없이 데이터를 주고받을 수 있다. package io.file.ch08;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;public class MyDataStream { public static void m..
사용자 모드와 커널 모드 컴퓨터의 구성컴퓨터 시스템은 크게 하드웨어(Hardware)와 소프트웨어(Software) 두 가지로 나눌 수 있다. 하드웨어는 물리적으로 컴퓨터 시스템을 구성하고 있는 기계 장치이고 소프트웨어는 논리적으로 컴퓨터 시스템을 구성하고 하드웨어들을 관리하고 동작시키는 역할을한다. 소프트웨어는 명령어들의 집합으로 볼 수 있으며 일반적으로 그것들을 프로그램이라고 말할 수 있다.소프트웨어는 딱 2가지로 구분할 수 있다. USER 프로그램과 OS 프로그램 두가지이다.  운영체제의 핵심 "커널"OS 프로그램은 사용자에게 GUI 제공해서 사용자와 컴퓨터 간에 상호작용을 쉽게 처리할 수 있도록 도와주며 다양한 소프트웨어 응용프로그램 워드프로세서, 게임, 데이터베이스 관리 시스템, 파일 장치 관리 등등 많은 서비스를 지원..
Swing, Socket을 활용한 1:N 양방향 통신 - 1 (현재까지 진행상태)
로그와 파일 저장 로그 ( Log )란?로그란 프로그램 개발이나 운영 시 시스템의 문제점을 파악하거나 운영상태에서 모니터링 하기 위한 데이터를 의미한다. 시스템 개발 시에는 개발자 및 테스터를 비롯한 소수의 사람들만 로그를 관리하므로 로그 추적이 간단하다. 💡 매번 로깅 코드를 작성하는 것은 불편할 수 있다. 그래서 로그를 편리하게 사용할 수 있도록 클래스를 설계하고, 영구적으로 로그를 저장할 수 있는 파일 저장 기능을 포함하는 코드를 작성해보자. 프로젝트 생성my-logger/├── src/│ └── com/│ └── tenco/│ ├── ConsoleLogger.java│ ├── FileLogger.java│ └── MyLogger.java└── b..
파일복사 ( 문자기반 입/출력 ), ZIP 파일로 압축 [파일복사]시나리오 코드 1 - 문자기반 스트림을 활용한 파일복사 클래스 설계하기package io.file.ch07;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;public class FileCopyHelper { // 파일 복사 public static void copyFile(String readFilePath, String writerFilePath) { try ( FileReader fr = new FileReader(readFilePath); FileWriter fw = new FileWriter(writerFilePath..

728x90