소켓을 이용해서 원격지로 파일 전송하는 애플리케이션 작성 중 깜빡 잘못된 생각으로 오류에 빠졌던 내용을 정리하고 개선된 소스를 작성해본다. 처음 생각한 스트림의 구조는 아래와 같다. 서버의 파일을 FileInputStream으로 읽어와서 소켓에 기반한 BufferedOutputStream으로 클라이언트로 출력하고 클라이언트는 역시 소켓에 기반한 BufferedInputStream으로 읽은 후 FileOutputStream으로 로컬 파일에 출력한다. 이에 대한 서버와 클라이언트의 코드는 각각 아래와 같다. public class ServerFile { public static void main(String[] args) { try (ServerSocket ss = new ServerSocket(6547))..
Socket을 통한 binary 파일 전송. 잠깐의 잘못된 생각과 정리
소켓을 이용해서 원격지로 파일 전송하는 애플리케이션 작성 중 깜빡 잘못된 생각으로 오류에 빠졌던 내용을 정리하고 개선된 소스를 작성해본다. 처음 생각한 스트림의 구조는 아래와 같다. 서버의 파일을 FileInputStream으로 읽어와서 소켓에 기반한 BufferedOutputStream으로 클라이언트로 출력하고 클라이언트는 역시 소켓에 기반한 BufferedInputStream으로 읽은 후 FileOutputStream으로 로컬 파일에 출력한다. 이에 대한 서버와 클라이언트의 코드는 각각 아래와 같다. public class ServerFile { public static void main(String[] args) { try (ServerSocket ss = new ServerSocket(6547))..
2019.08.05