Материал из Скретч Вики
С помощью блоков, для которых необходимо интернет-соединение, можно разработать детектор интернет-соединения. Определение стабильного интернет-соединения может быть полезно в проекте, использующем облачные переменные.
Способ с таймером
Это простой скрипт для определения стабильного интернет-соединения:
когда щёлкнут по зелёному флагу повторять всегда если <(перевести (таймер) на (английский v)) = []> , то //пустая строка . . . //интернет-соединение нестабильно! иначе . . . //интернет-соединение стабильное end ждать (2) секунд end
Дополнению перевода нужно интернет-соединение. Без него выдаётся пустая строка, и из-за этого можно определить, пользователь подключен к интернету или нет.
Также дополнение кеширует переводы для убавления нагрузки на сервер, поэтому нам нужно уникальное значение; в данном случае это таймер
.
Способ с случайной строкой
Данный способ использует ту же механику, как и способ с таймером, однако вместо таймера используется блок выдать случайное от () до ()
и список с символами.
Данный способ можно использовать, если в проекте уже используется таймер.
Создайте список (символы::list)
и добавьте в него какие-либо случайные буквы для скрипта, а также создайте переменную (строка)
.
когда щёлкнут по зелёному флагу повторять всегда задать [строка v] значение [] повторить (выдать случайное от (1) до (длина списка [символы v])) раз задать [строка v] значение (объединить (строка) (элемент (выдать случайное от (1) до (длина списка [символы v])) в [символы v])) end если <(перевести (строка) на (английский v)) = []> , то //пустая строка . . . //интернет-соединение нестабильно! иначе . . . //интернет-соединение стабильное end ждать (2) секунд
Определение пинга
С помощью данного способа и таймера можно также определить пинг (время, необходимое для передачи данных). В данном скрипте пинг будет передаваться в переменную (пинг)
.
когда щёлкнут по зелёному флагу повторять всегда задать [строка v] значение [] повторить (выдать случайное от (1) до (длина списка [символы v])) раз задать [строка v] значение (объединить (строка) (элемент (выдать случайное от (1) до (длина списка [символы v])) в [символы v])) end сбросить таймер если <(перевести (строка) на (английский v)) = []> , то //пустая строка . . . //интернет-соединение нестабильно! задать [пинг v] значение [соединение нестабильно] иначе . . . //интернет-соединение стабильное задать [пинг v] значение (таймер) end ждать (2) секунд
Пинг будет измеряться в секундах. По желанию можете преобразовать секунды в миллисекунды:
задать [пинг v] значение ((таймер) * (1000))
![]() |
Обратите внимание, что таким образом также проверяется и скорость переводчика, что может значительно повысить пинг. |