네트워크 상의 파일안녕하세요, 네트워크 주소에서 특정 파일을 여는 스크립트가 있습니다.컴퓨터가 해당 네트워크에 연결되면 모든 것이 정상입니다. 그러나 컴퓨터가 오프라인일 때 스크립트가 주소를 사용할 수 없음을 이해하기 전에 계속 기다리지 않고 부드럽게 멈추기를 원합니다. 원격 파일 가용성을 빠르게 확인하거나 네트워크 연결 가용성을 더 향상시키는 기능이 있습니까?
감사해요
마테오
Re: 네트워크 상의 파일안녕하세요 Dave, 시도했지만 리소스를 사용할 수 없는 경우 여전히 몇 초가 걸립니다.
감사해요
마테오
Re: 네트워크 상의 파일아마도 다음을 사용하여 파일의 존재를 확인하십시오. 파일이 존재 열어보기 전에?
Re: 네트워크 상의 파일네트워크 디스크로 ping을 시도하십시오. 그것이 중간 예입니다. 누군가 드라이브를 끄라고 요청하지 않고는 완전히 테스트할 수 없습니다...
Re: 네트워크 상의 파일감사합니다. 이 가능성을 살펴보겠습니다. 사실 내 리소스는 네트워크 디스크에 있는 파일이므로 ping이 정확히 내가 사용해야 하는 명령은 아니지만 OS 명령을 호출하는 개념은 명확합니다.
마테오
Re: 네트워크 상의 파일이 스크립트는 ping을 사용하여 서버에서 에코백을 가져옵니다. ping의 텍스트는 다양한 OS 버전에서 약간 다를 수 있으며 "Received = 1"에 대한 테스트는 조정이 필요할 수 있습니다. n=1은 ping을 한 번만 의미하고 w=100은 100ms 이상 기다리지 않음을 의미합니다. Mac 버전은 다를 것입니다. 이것은 Windows에서 (거의) 테스트되었습니다.
Ping은 잠수함 음파 탐지기가 내는 소리의 이름을 따서 명명되었습니다. 그런 다음 메아리를 듣습니다. 그러나 실제 에코와 달리 사용량이 많은 컴퓨터에서는 다른 지연이 발생할 수 있습니다. 핑은 5대 이상의 컴퓨터를 쉽게 통과할 수 있으며 에코도 비슷합니다. 다음과 같이 "dos box"에서 ping으로 플레이할 수 있습니다.
Using ping in a "dos box""dos 상자"에서 ping 사용
isAvailable = Function( {resource},
{default local},
Contains( RunProgram( executable( "ping" ), options( {"-n 1 -w 100", resource} ), readfunction( "text" ) ), "Received = 1" ) != 0
);
// this succeeds in < .1 second
start = Tick Seconds();
jmp = isAvailable( "jmp.com" );
stop = Tick Seconds();
Show( jmp, stop - start );
// this fails in about 3 seconds
start = Tick Seconds();
fileserver = isAvailable( "jmpsserver" ); // leave out the back slashes and use the first name
stop = Tick Seconds();
Show( fileserver, stop - start );
// this fails in about .2 seconds
start = Tick Seconds();
nonesuch = isAvailable( "x" || Char( Random Integer( 1e15, 9e15 ) ) || ".com" );
stop = Tick Seconds();
Show( nonesuch, stop - start );
jmp = 1; -- jmp.com 작동
중지 - 시작 = 0.0333333333255723;
파일서버 = 0; -- 파일 서버 이름이 아닙니다.
중지 - 시작 = 2.26666666672099;
없음 = 0; -- 실제 웹 이름이 아닐 가능성이 높습니다.
중지 - 시작 = 0.0500000000465661;
Re: 네트워크 상의 파일그렇다면 시스템 명령을 사용하여 네트워크 연결이 사용 가능한지 확인하고 나머지 스크립트를 실행하기 전에 호출할 수 있습니다. 그래도 시간이 덜 걸릴지 확실하지 않습니다. 이전에 언급한 게시물에 몇 가지 아이디어가 기록되어 있습니다.
Re: 네트워크 상의 파일고마워 마틴. 예, "시도"를 사용하고 있지만 네트워크에 연결되어 있지 않으면 종료하기까지 약 10초가 걸립니다.
마테오
Re: 네트워크 상의 파일예를 들어 다음 명령과 유사하며 실패할 경우 예외 메시지 또는 번호가 표시됩니다. 그런 다음 다른 작업(메시지, 대체 파일, ...)을 수행할 수 있습니다. 이 스레드에서 다른 팁을 찾을 수도 있습니다. Can-JMP-call-a-DOS-Exe
a = Try( Open( networkpath ),0 )<BR />
Re: 네트워크 상의 파일안녕 마테오,
TRY 및/또는 THORW 기능을 사용해 보셨습니까? 파일을 찾을 수 없으면 잡을 수 있고 뛰어 내릴 수 있습니다. 이것이 경로도 검색할 것이기 때문에 설명하신 문제가 해결되는지 확실하지 않습니다. 그러나 지금까지 확인하지 않았다면 시도해 볼 가치가 있습니다.
남자 이름