파일 복사를 통해 간헐적인 네트워크 연결
-
09-06-2019 - |
문제
내가 찾는 강력한 방법을 통해 파일을 복사 Windows 네트워크 공유가 허용의 간헐적으로 연결됩니다.응용 프로그램에 자주 사용하는 무선,모바일 워크 스테이션에서 큰 병원,그리고 나는 가정에 연결할 수 있습을 잃거나 일시적으로 또는 몇 분 동안 시간입니다.관련된 파일은 일반적으로 약 200KB-500KB 크기에 있습니다.응용 프로그램에 기록된 VB6(우)지만,우리가 자주 사용하 Windows DLL 을 호출합니다.
감사합니다!
해결책
나도 당신의 실제적인 문제,그래서 밖으로 던져 몇 가지 생각입니다.
- 당신이 원하는 다시 시작할 수 있는 복사본(이러한 작은 파일의 크기는 것 같이 보이지 않는다는)?그렇다면,보고서 CopyFileEx 와 COPYFILERESTARTABLE
- 당신이 원하는 검증 사본?소리는 같은 이미 있는지 확인하여 해시입니다.
- 당신은 더 나은 성과?그것은 힘들 것으로,같은 소리를 실행할 수 없습니다 아무것도 서버에 있습니다.그렇지 않으면 TransmitFile 는 데 도움이 될 수 있습니다.
- 당신이 원하는 화재 작업을 잊?내가 가격을 robocopy,또는 테라 카피 운지만 좀 해키다.
- 당신이 알고 싶어 네트워크는 다시 온? IsNetworkAlive 는 당신의 대답이다.
에 따라 내가 지금까지 알고,나는 생각한 다음 코드는 것이 나의 접근 방식:
sourceFile = Compress("*.*");
destFile = "X:\files.zip";
int copyFlags = COPYFILEFAILIFEXISTS | COPYFILERESTARTABLE;
while (CopyFileEx(sourceFile, destFile, null, null, false, copyFlags) == 0) {
do {
// optionally, increment a failed counter to break out at some point
Sleep(1000);
while (!IsNetworkAlive(NETWORKALIVELAN));
}
파일을 압축하는 첫 번째 저장 당신에게 추적하는 파일을 성공적으로 복사하고,당신을 다시 시작합니다.그것은 또한 복사본을 빠르게 이동(작은 총 파일 크기,그리고 큰 하나의 파일 크기),에서 비용의 일부 CPU 전원 양쪽에.간단한 일괄 파일의 압축을 해제 서버 사이드에서 작동합니다.
다른 팁
사 Robocopy 이를 위해 우수한 결과입니다.기본적으로,그것은 다시 시도는 30 초까지 파일을 가져옵니다.
도를 사용하여 비트(백그라운드 인텔리전트 전송 서비스).그것은 인프라가는 Windows 업데이트 사용을 통해 액세스할 수 있 Win32API,그리고 특별히 구축하는 이것을 가능하게 해줍니다.
그것은 일반적으로 사용되는 응용 프로그램 업데이트,하지만에서 잘 작동해야 한다 어떤 파일을 이동하는 상황이다.
동의함으로 Robocopy 솔루션으로...왜 유틸리티는 소위 "강력한 파일 복사"
나는 사용 Robocopy 이 우수한 결과입니다.기본적으로,그것은 다시 시도는 30 초까지 파일을 가져옵니다.
기본적으로 만에 다시 시도 합니다.해야 하는 충분한 간헐적으로 연결 합니다.
또한 그는 다시 시작할 수 있는 전송할 수 있도는 스로틀 전송 사이의 간격으로 패킷 assuing 을 사용하지 않는 모든 대역폭을 다른 프로그램은 동일한 연결을 사용하여(/IPG 스위치)?.
는 방법에 대해 단순히 전송하는 해시 또는 후에게 보내기 전에 파일이고,비교하는 것으로 파일을 받았는가?해야 하는 이상 있는지 확인정 파일입니다.
하려면 모두 밖으로 이동 할 수 있는 동일한 과정이지만,작은 부분에 대한의 파일입니다.그 때 당신은 모든 조각,그들과 합류에서 책임지지 않습니다.
당신이 사용할 수 있습 Microsoft SyncToy(무료)
Hm,보식 승인은,그것을 필요로하지 않는 서버 프로그램 설치/나는 생각하지는 않고 그냥$재동기화 src dst.
SMS 사용 가능한 경우 작동합니다.