Don Leno писал(а):Как замерить пинг программы на vb6. Вопрос чисто теоретический, но если кто может привести код будет даже лучше))
Function Ping(sIpAddr As String) As Boolean
Dim oWMIService As Object '
Dim colPings As Object '
Dim oPing As Object '
Dim sComputer As String '
Dim sWQL As String '
If Len(sIpAddr) = 0 Then Exit Function
sComputer = "."
sWQL = "SELECT Address, StatusCode FROM Win32_PingStatus WHERE Address = '" & sIpAddr & "'"
Set oWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
Set colPings = oWMIService.ExecQuery(sWQL)
If Err = 0 Then
For Each oPing In colPings
If Err = 0 Then
If oPing.StatusCode <> 0 Then
Ping = False 'Если статус <> 0 Узел недоступен
Else
Ping = True 'Если статус = 0 Узел доступен
End If
End If
Next
End If
Set oPing = Nothing: Set colPings = Nothing: Set oWMIService = Nothing
End Function
Очень интересно. А что вообще означает пинг как термин? Раньше никогда об этом и не задумывался и воспринимал это просто как команду, а оказалось, что всё не так уж и просто.alibek писал(а):Пинг — это просто слово.
Что ты под ним подразумеваешь, то и измеряешь.
Если речь про icmp ping, то значение указывает на время, которое прошло между отправкой запроса и получением ответа, обычно измеряется в секундах или миллисекундах.
Если речь про сетевые игры, то это обычно время, прошедшее между отправкой UDP-пакета и получением на него ответа от сервера.
Для TCP это обычно время между отправкой SYN и получением ACK. Для HTTP это время между отправкой запроса и получением ответа от сервера.
Но в общем случае под пингом может пониматься что угодно.
Первоначально словом «ping» (по созвучию) именовали направленный акустический сигнал противолодочных гидролокаторов или «асдиков» (англ. ASDIC, аббревиатура от Allied Submarine Detection Investigation Committee) времён Второй мировой войны.
Сейчас этот форум просматривают: Google-бот и гости: 32