c# ping 예제

août 2, 2019 7:57 Publié par

개인 보이드 ping(PingSlave slave, 개체 주소){/Ping 주소에서 전달된 결과 UI로 마샬링합니다. //ping에는 선택적 데이터, 20홉 TTL 및 5초 시간 아웃이 포함되어 있지 않습니다. 보안관(노예. GetEchoes((System.Net.IPAddress) 주소, 널, 20, 5000, 거짓)) »)) ») »}} 개인 보이드 ping1_Echo (개체 보낸 자, EchoEventArgs e){/이 이벤트는 GetEchoes 결과가 UI에 전달될 때 발생합니다. 문자열 결과 = « 다음 에코는 반환되었습니다:rn »; (int i = 0; i <e.Echoes.Length; i++) 결과 += e.Echoes[i]. ToString() + "rn"; 메시지 상자.표시(결과);} 테이크 아웃: 비동기 ping 스윕에 비동기/await를 사용하고 SFTP 파일 전송을 위해 BackgroundWorker를 사용합니다. 읽어 주셔서 감사합니다, 그리고 난 당신이이 방법에 대한 핑 또는 두 가지를 배웠으면 좋겠다. 그러나, 이 것을 달성하기 위해 잘 알려진 라이브러리와 상대적으로 잘 알려진 목표임에도 불구하고, 솔루션을 개발하는 나의 여행은 내가 원래 생각했던 것처럼 쉽지 않았다. 다음 게시물은 작업 솔루션에 도착하기 전에 시도 한 것들을 간략하게 설명합니다. 또한 소프트웨어 엔지니어가 이 것을 읽는 경우 내 코드에 쉽게 이동하십시오. 또는 아닙니다. 불행히도이 방법은 장치가 발견되었는지 확인하기 위해 기다리는 사용자가 받아 들일 수 없을 정도로 느리기 때문에 ping에 대한 주소가 몇 개만 있는 경우 좋습니다.

Ping.Send에는 시간 초과 간격을 허용하는 오버로드가 있지만 매우 낮은 값을 설정하는 것은 실제로 많이 변경되지 않는 것으로 보입니다. MSDN 문서에서: Ping은 인터넷 프로토콜(IP) 네트워크에서 호스트의 도달 가능성을 테스트하고 원래 호스트에서 대상 컴퓨터로 전송된 메시지의 왕복 시간을 측정하는 데 사용됩니다. Microsoft .Net은 System.Net.Network정보 네임스페이스에 있는 Ping 클래스를 제공하여 컴퓨터를 ping합니다. Ping 클래스는 Hostname/Address 및 시간 지정을 매개 변수로 사용하여 Send() 메서드를 제공합니다. Send() 메서드는 메시지를 받은 경우 ICMP(인터넷 제어 메시지 프로토콜) 에코 메시지에 대한 정보를 제공하는 PingReply 개체를 반환하거나 메시지를 받지 못한 경우 실패의 원인을 제공합니다. ICMP 에코 메시지가 시간 초과 매개 변수에 지정된 시간 내에 수신되지 않으면 Status 속성보다 TimedOut으로 설정됩니다. ICMP 에코 요청을 보내고 Status 속성보다 해당 ICMP 에코 응답을 성공적으로 수신하려는 시도가 성공으로 설정된 경우. PingReply 클래스의 속성을 사용하여 주소, 왕복 시간, 상태 등을 찾을 수 있습니다. 동기 메서드를 사용하여 255ping의 결과입니다. 아무도 완전한 검사를 기다릴 2 분이 없습니다. 그러나 원격 장치에서 로컬 디렉터리로 SFTP 파일 전송을 위해 BackgroundWorker를 사용할 수 있습니다 (최종 응용 프로그램에서는 필요하지만이 ping 스윕 데모에는 포함되지 않음).

이렇게 하면 파일이 전송되는 동안 주 UI 스레드가 매달려 있는 것을 방지할 수 있습니다. 비동기/await도 이에 사용될 수 있지만, BackgroundWorker는 각 파일이 원격에서 로컬 장치로 직렬로 전송되기 때문에 더 적절하고 쉬운 구현인 것처럼 보였습니다. 또한 WinForms에서 드래그 앤 드롭하기만 하면 됩니다! 따라서 비동기 ping 메서드를 선택했지만 백그라운드 작업에서 처리하는 방법에 대해 계속 매달려 있습니다. .NET 4.0이 릴리스되기 전에는 백그라운드 워커가 사실상 표준1이었습니다. 그러나 ping은 흥미로운 과거 시간이기 때문에 첫 번째 동기 솔루션이 Ping.Send()를 사용하여 수행하는 방법을 살펴보겠습니다. 동일한 수의 호스트가 살아 있지만 약간 느립니다. 그러나 Angry IP 스캐너는 ping 및 스레드 처리에서 더 강력하므로 몇 초가 더 사용하면 사용이 좋을 수 있습니다.

Classés dans :Non classé

Cet article a été écrit par NotreSite

Les commentaires sont fermés.