관리 메뉴

어읽로꾸거

[네트워크 프로그래밍] 1. Stream - OutputStream 본문

정리

[네트워크 프로그래밍] 1. Stream - OutputStream

어읽로꾸거 2022. 9. 7. 22:57

Synchronous vs Nonblocking

sync => 완료될 때까지 기다림

async => 완료될 때까지 안기다림

 

OutputStream

- write : 작성하는 함수 => ASCII에 해당하는 값을 출력함

- flush: 버퍼에 저장되어있는 데이터(꽉 차기 전에)를 쓰도록 하게 하는 함수 (일부는 바로 쓰지 않고 버퍼에 저장함)

- close: 닫기

1. write(int b:소스)

파라미터: b (싱글 언사인드 원바이트)[0,255]

b를 아웃풋 스트림에 작성함(255 범위 넘어가면 가장 작은 바이트가 작성됨) => 257일 경우 1출력

* abstract로 구현되어 이것을 출력해야만함

2. write(byte[] data)

TCP/IP의 헤더 최소 40바이트, 따라서 배열로 묶어서 보내는게 효율적임

1개 바이트씩 보내는거보다 훨신 효율적

3. flush()

충분하지 않은 길이의 데이터를 보낼때 씀

Polymorphism

객체가 많은 형태를 띌 수 있음

- 부모 클래스의 필드만 이용가능 (필드를 직접 부르면 부모의 것만 가능)

- 오버라이드 된 자식 클래스의 메소드도 사용 가능 (메소드로 인해 필드를 간접적으로 부르면 자식 필드를 불러옴)