0
Waiting for user's reply

WebSocket

Борис Фридман 7 jaar geleden in iRidium Script bijgewerkt door Dmitry - support (expert) 7 jaar geleden 2

Подскажите, пожалуйста, можно ли использовать библиотеку JS WebSocket?

Как я понимаю, к ней нет доступа из скриптов...

У меня возникла необходимость проверять наличие устройства в сети. Это можно делать по ICMP простым пингом. Но я не нашёл способа это сделать напрямую из скрипта.

Тогда нарыл, что это можно сделать через WebSocket. Попробовал пример работы:


IR.AddListener(IR.EVENT_START,0,function()
{
   IR.Log("Start");
   var socket = new WebSocket("ws://javascript.ru/ws");
});


socket.onopen = function() {  IR.Log("Соединение установлено.");};

socket.onclose = function(event) {  
  if (event.wasClean) {    IR.Log('Соединение закрыто чисто');  }  
  else { IR.Log('Обрыв соединения'); // например, "убит" процесс сервера  }
  IR.Log('Код: ' + event.code + ' причина: ' + event.reason);
};

socket.onmessage = function(event) {  IR.Log("Получены данные " + event.data);};

socket.onerror = function(error) {  IR.Log("Ошибка " + error.message);};


это не работает

Точнее - все функции были внутри слушателя...

То есть в области видимости. Это я наредактировал неправильно, когда пост писал

Waiting for user's reply

Здравствуйте!


К сожалению, в Иридиуме нет скриптовых методов для работы с Websocket. Для того, чтобы проверить ping до устройстройства, вы можете воспользоваться методом Popen, если приложение запущено на Windows или Linux.

Либо попробовать реализовать протокол ICMP с помощью драйвера AV&Custom System.