[Java] 소켓 통신
·
Java/Base
소켓 통신  - 양 끝단에 포트 번호를 달아서, 통신을 통해 데이터를 주고 받는 것  - 커넥션 풀 (connection pool) : 소켓은 한 번 연결되면 지속적으로 연결되어 있음      → 인증 정보가 필요하지 않음  - 서버 측과 클라이언트 측은 코드로 연결된 것이 아니라, 통신을 통해 연결되는 것  - 양방향 통신 예제 : https://young0105.tistory.com/107#  서버  - 서비스를 제공하는 자  - 소켓 2개를 필요로 함      1) ServerSocket : 클라이언트의 연결만 받는 소켓 (데이터 주고 받기 X)      2) Socket : 실제로 통신하며 데이터를 주고 받는 소켓#  클라이언트  - 서비스를 요청하는 자  - 소켓 1개를 필요로 함      1)..
[Java] 입출력 스트림 (I/O Stream)
·
Java/Base
I/O Stream (입출력 스트림)  - I/O : 데이터를 읽고 쓰는 작업  - 스트림 : 네트워크에서의 자료 흐름이 물의 흐름과 같다는 비유에서 유래   - 다양한 입출력 장치에 독립적으로 일관성 있는 입출력을 제공함  - 입출력 장치  ex) 파일 디스크, 키보드, 마우스, 네트워크, 메모리 등  - 한 방향으로만 움직임  입출력 스트림의 구분#  대상 기준  1) 입력 스트림 (InputStream, Reader, ...)  2) 출력 스트림 (OutputStream, Writer, ...)#  자료의 종류 기준  1) 바이트 단위 스트림 (InputStream, OutputStream, ...)  2) 문자 단위 스트림 (Reader, Writer, ...)#  기능 기준  1) 기반 스트림 ..
[Java] 입출력 스트림 - 예제 모음
·
Java/Base
엔터 키를 누를 때까지 반복해서 값을 입력받기// 엔터 키를 누를 때까지 반복해서 값을 입력받기 (엔터 키 = '\n')int i;while ( (i = System.in.read()) != '\n' ) { System.out.print((char) i);} 특정 파일의 모든 글자 읽어오기// 특정 txt 파일의 모든 글자 읽기 (엔터 키, 공백도 포함)FileInputStream fis변수명 = null;try { // 여기 입력하는 파일은 이미 존재하는 파일 fis변수명 = new FileInputStream("경로/파일명.txt"); // 한글이 포함되었을 경우, 문자 스트림 FileReader 활용 int i; // i는 데이터를 1byte씩 가져올 임의의 변수명..
[개발 일지] Strikers 1945 게임 구현 프로젝트 5일차 (02/27) ~ 종료
·
Team Project/Strikers 1945 GUI Project
5일차에 구현한 것앞선 일차들에서 밑작업은 모두 끝내 두었다.그래서 5일차에 Timer와 TimerTask를 이용해서 지연시간 후에 적군 소환 메서드가 호출되게끔 하면게임을 완성할 수 있었다. 1. 적군 소환 흐름 구현// 적군 소환 흐름public void createEnemy() { // 1번째 적군 소환 unit2ArrayLeftMove(); Timer timer1 = new Timer(); long delay1 = 3000L; // 2번째 적군 소환 TimerTask task1 = new TimerTask() { @Override public void run() { unit3OneMove(); } }; ..
[개발 일지] Strikers 1945 게임 구현 프로젝트 4일차 (02/26)
·
Team Project/Strikers 1945 GUI Project
4일차의 목표  - 생성된 적군들을 메인 프레임의 리스트에 추가하는 방식으로 관리  - 다른 클래스들도 그에 호환되도록 코드 전부 수정 4일차에 구현한 것1. 메인 프레임의 멤버 변수 추가ArrayList enemyList = new ArrayList();// 아이템도 적군이 생성될 때마다 생성되므로 똑같이 리스트로 정의해둠ArrayList itemList = new ArrayList();2. Enemy 객체들이 각각 자신이 enemyList에 생성된 순서 인덱스를 멤버 변수로 갖도록 함// 부모 클래스의 멤버 변수protected static int enemyCount; // 생성된 적군의 총 숫자protected int myIndex // 자신이 생성된 순서// 자식 클래스의 생성자public Ene..