2013-06-11 9 views
3

Проект im работает, они хотели бы, чтобы активное обнаружение соединения с сервером перед каждым вызовом.Метод подсветки для проверки соединения

Im пытаясь выяснить, если его лучше использовать: WL.Device.getNetworkInfo: isNetworkConnected или WL.Client.connect

Я знаю, что getNetworkInfo только проверяет, если телефон имеет contectivity к сети, в то время как wl.client.connect будет фактически подключаться к серверу. Я просто боюсь, что wl.client.connect будет дорогостоящим вызовом, который нужно сделать перед каждым вызовом invokeProcedure. Есть ли лучший способ проверить подключение до вызова invokeProcedure?

ответ

4

API getNetworkInfo может использоваться для проверки наличия в настоящее время устройства интернет-подключения.

Что касается подключения к серверу WL, существует только один способ проверить, доступен ли сервер, и это, отправив запрос на сервер WL и проверив, удалось ли оно выполнить. Однако это не правильный путь. Каждый API-интерфейс вызова WL-сервера, например. WL.Client.connect(), WL.Client.login(), WL.Client.invokeProcedure() имеет обратные вызовы onSuccess и onFailure. Используйте их для проверки успешности подключения к серверу.

Технически, даже если вы делаете дополнительный запрос, например WL.Client.connect(), перед тем, как сделать реальный запрос, он не даст вам 100% гарантии, что реальный запрос будет успешным.

Кроме того, вы можете использовать события WORKLIGHT_IS_CONNECTED и WORKLIGHT_IS_DISCONNECTED, которые запускаются каждый раз, когда последний статус вызова WL-сервера переключает успех. < -> сбой. Проверьте автономный учебный модуль на странице «Приступая к работе».

Смежные вопросы