이 예제는 인증 및 하드 코딩된 파일 이름으로 매우 간단합니다! 전문화의 주요 영역은 자바와 J2EE입니다. 레코더, 웹 사이트, 크롤러 등과 같은 많은 국제 프로젝트에 참여했습니다. 또한 나는 오라클 인증 자바 전문가뿐만 아니라 DB2 인증 프로그램은 일반 JUnit 러너를 사용하여 IDE 내에서 또는 maven을 사용하여 명령 줄에서 실행할 수 있습니다. 테스트 리소스(대용량 원본 파일 및 대상 디렉터리)가 있는지 확인합니다. 명령줄에서 테스트를 실행하면 재마력 (파일 크기)을 계산 할 필요가 없으며 새 줄이있는 동안 읽습니다. 이를 시도하려면 먼저 서버를 시작합니다. 보낼 파일(SimpleFileServer에 지정된 대로)이 있는지 확인합니다. 그런 다음 클라이언트 모듈을 실행합니다. OnComplete 인터페이스는 파일이 성공적으로 철저하게 전송되면 이 작업을 실행하기 위해 FileReceiverAsync 구현에 전달하는 콜백 추상화를 나타냅니다.

FileWriterProxy를 onComplete(…)에 전달하며, 이 메서드를 실행할 때 컨텍스트로 서버가 될 수 있습니다. 서버 사이드 형제의 파일 크기는 무엇입니까? 왜 15123을 동일하게 설정했습니까? Partheban Udayakumar 썼다 :안녕 모두, 나는 클라이언트와 서버 사이의 파일 전송을위한 다음과 같은 코드를 가지고있다. 이제 클라이언트에서 서버에 파일을 쓸 때 클라이언트에 여러 파일 (ab,ac,…)이있는 경우 모든 파일의 내용이 서버 측으로 전송 될 때 첫 번째 파일 (ab)에 기록됩니다. 스트림을 닫으면 소켓 연결이 끊어집니다. 제발 도와주세요. Client에서 전송된 파일 이름을 저장하면 어떻게 해야 하나요? @CarlEkerot 책 : 자바 스레드, 3 판, 간단히 말해서 지니, 그리고 자바 보석 (기여자) FileChannel을 사용하여 여러 스레드를 사용하여 완료되면 파일을 더 빨리 읽을 수 있습니까? 이 자습서에서는 큰 파일을 한 지점에서 다른 지점으로 전송하는 방법을 설명했습니다. 이것은 로컬 사본과 소켓을 통한 원격 전송을 통해 전시되었습니다. 한 단계 더 나아가 비동기 수신 노드를 통해 한 원격 위치에서 다른 원격 위치로 큰 파일을 전송하는 방법을 보여 주어 설명했습니다. 줄 11-17: 우리는 주어진 채널에서 전송할 바이트의 FileChannel, 위치 및 크기를 제공합니다. 루프는 제공된 채널에서 소켓 채널 클라이언트로 의 바이트로 Constants.TRANSFER_MAX_SIZE까지 전송하려고 시도하는 곳에서 시작됩니다.

각 반복 후 전송된 바이트의 양이 위치에 추가되어 다음 전송 시도에 대한 커서를 진행합니다. 작은 파일을 전송하면 정상적으로 작동합니다. 그러나 큰 파일을 전송할 때 클라이언트가 throw합니다: java.net.SocketException: 깨진 파이프 코드 샘플은 로컬 및 원격 도메인으로 분할될 수 있으며 원격 내에서 파일 전송의 비동기 구현을 더 전문으로 합니다. 틀림없이 더 흥미로운 부분입니다. 파일 라이터는 단순히 캡슐화 된 파일 채널에 소켓 채널에서 바이트를 전송하는 요금이 부과됩니다. 이전과 마찬가지로 전송 프로세스는 각 반복과 함께 Constants.TRANSFER_MAX_SIZE 바이트까지 전송하려고 시도하는 루프입니다. 이 예제의 샘플 프로그램은 다음을 보여 줍니다: 포트 번호 15123에서 IP 127.0.0.1(내 경우 로컬 IP, 친구 컴퓨터의 IP로 lan에서 시도할 때 변경)에 연결하려고 하는 소켓 개체를 정의했습니다.