-
byte 기반 입출력, 네트워크 socket, client, server (1/13)Java 2022. 1. 13. 22:56
1/ Byte 기반 입출력
Byte 기반으로 입출력하는 건 예를 들어 이미지 복사할때. 문자로 보낼 수 없기 때문에 byte stream으로 복사한다.
어제는 FileReader, FileWriter로 문자 기반 입출력.
byte 기반 입출력은 문자 입출력과 달리, sinker stream만을 통해서 복사한다. 수정이 필요없을때.
File srcFile = new File("./data/singleton.PNG"); File destFile = new File("./data/singletonCopy.PNG"); FileInputStream fis= new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); int data = 0; while((data=fis.read())!=-1) { fos.write(data); } fos.close(); fis.close();
2/ 문자 기반, Byte 기반 입출력 비교
3/ 네트워킹
두 대의 컴퓨터(A,B)가 데이터를 주고 받는 일.
Socket: 데이터가 나오는 지점과 들어가는 지점. sinker stream이 연결되는 곳.
server는 무수히 많은 client과 연결되기 때문에 해당 client만의 socket을 만들어줘. 그러면 그 socket이랑 client socket이랑 연결되어서 데이터를 주고받는다.
자세히 설명하면, client socket이 server socket에게 접속하면 server socket이 client만의 socket을 만들어준다.
그러면 client socket은 그 socket 사이에 stream을 만들어서 데이터를 직접 주고 받음.
그런 server쪽의 socket이 여러개 있음.
'Java' 카테고리의 다른 글
[Error] The application Eclipse can't be opened. (0) 2022.03.02 Thread (0) 2022.02.20 입출력, stream, file 문자 기반 입출력 (1/12) (0) 2022.01.12 HashMap, Thread (1/11) (0) 2022.01.11 Collection, Framework (1/10) (0) 2022.01.11