Реализация пинга на VB.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Реализация пинга на VB.

Сообщение Don Leno » 02.04.2015 (Чт) 11:57

Как замерить пинг программы на vb6. Вопрос чисто теоретический, но если кто может привести код будет даже лучше))

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Реализация пинга на VB.

Сообщение Debugger » 02.04.2015 (Чт) 13:36

Don Leno писал(а):Как замерить пинг программы на vb6. Вопрос чисто теоретический, но если кто может привести код будет даже лучше))

Эм, что такое "пинг программы"?
FPS можно замерить счетчиком отрисовок и таймером на форме, который будет каждую секунду выводить куда-либо значение счетчика и обнулять его.
Также, посмотри в сторону функции Timer.

Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Re: Реализация пинга на VB.

Сообщение Don Leno » 02.04.2015 (Чт) 13:42

Сетевой пинг программы. Работа клиента и сервера. Как замерить пинг на клиенте? Как это реализовать на ВБ?

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Реализация пинга на VB.

Сообщение Debugger » 02.04.2015 (Чт) 13:51

Запоминай время запроса на другую машину. Когда приходит ответ (на этот запрос - !) - вычитаешь из текущего времени время отправления запроса, делишь пополам и получаешь "лаг" - за сколько времени информация с одной машины добирается до другой. Можешь накапливать статистику и усреднять по секундам, например.
Этот "лаг" зависит от множества параметров: скорость работы машин, загруженность сети, программная архитектура сервера, и к пингу имеет косвенное отношение.

Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Re: Реализация пинга на VB.

Сообщение Don Leno » 02.04.2015 (Чт) 13:53

А как сам пинг замерять? Разве нельзя к примеру считать кол-во отправляемых пакетов в секунду? Вообще чему равен пинг?

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Реализация пинга на VB.

Сообщение ger_kar » 02.04.2015 (Чт) 19:01

Можно сделать через WMI
Код: Выделить всё
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


Надо поэкспериментировать, вроде в свойствах должно быть и время. Я на память уже не помню.
Бороться и искать, найти и перепрятать

Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Re: Реализация пинга на VB.

Сообщение Don Leno » 03.04.2015 (Пт) 22:58

Спс, есть еще варианты?

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Re: Реализация пинга на VB.

Сообщение HiSER » 04.04.2015 (Сб) 20:31


Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Re: Реализация пинга на VB.

Сообщение Don Leno » 06.04.2015 (Пн) 15:25

Спасибо за ссылку Hiser. Мне интересно также узнать как пинг замерить вручную? К примеру ФПС - это высчитывается по принципу подсчета кадров в секунду. А пинг? Показывает время отправки и получения ответа от сервера? В каких единицах измеряется пинг?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Реализация пинга на VB.

Сообщение alibek » 06.04.2015 (Пн) 16:20

Пинг — это просто слово.
Что ты под ним подразумеваешь, то и измеряешь.
Если речь про icmp ping, то значение указывает на время, которое прошло между отправкой запроса и получением ответа, обычно измеряется в секундах или миллисекундах.
Если речь про сетевые игры, то это обычно время, прошедшее между отправкой UDP-пакета и получением на него ответа от сервера.
Для TCP это обычно время между отправкой SYN и получением ACK. Для HTTP это время между отправкой запроса и получением ответа от сервера.
Но в общем случае под пингом может пониматься что угодно.
Lasciate ogni speranza, voi ch'entrate.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Реализация пинга на VB.

Сообщение ger_kar » 06.04.2015 (Пн) 16:28

alibek писал(а):Пинг — это просто слово.
Что ты под ним подразумеваешь, то и измеряешь.
Если речь про icmp ping, то значение указывает на время, которое прошло между отправкой запроса и получением ответа, обычно измеряется в секундах или миллисекундах.
Если речь про сетевые игры, то это обычно время, прошедшее между отправкой UDP-пакета и получением на него ответа от сервера.
Для TCP это обычно время между отправкой SYN и получением ACK. Для HTTP это время между отправкой запроса и получением ответа от сервера.
Но в общем случае под пингом может пониматься что угодно.
Очень интересно. А что вообще означает пинг как термин? Раньше никогда об этом и не задумывался и воспринимал это просто как команду, а оказалось, что всё не так уж и просто.
Бороться и искать, найти и перепрятать

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Реализация пинга на VB.

Сообщение alibek » 06.04.2015 (Пн) 17:14

Первоначально словом «ping» (по созвучию) именовали направленный акустический сигнал противолодочных гидролокаторов или «асдиков» (англ. ASDIC, аббревиатура от Allied Submarine Detection Investigation Committee) времён Второй мировой войны.
Lasciate ogni speranza, voi ch'entrate.

Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Re: Реализация пинга на VB.

Сообщение Don Leno » 06.04.2015 (Пн) 18:41

Спасибо вам, за исчерпывающий ответ)))


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 53

    TopList