Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Множество Socket подключений на 1 странице (https://javascript.ru/forum/dom-window/77445-mnozhestvo-socket-podklyuchenijj-na-1-stranice.html)

dima85 05.05.2019 18:30

Множество Socket подключений на 1 странице
 
Есть массив "ip" в котором находятся разные IP адреса, по массиву идет цикл:
for (var i in ip) {
      loadList(ip[i]);
     }


Цикл обращается к этой функции и добавляет на страницу теги с id = active-IP-устройства. И создаются много socket соединений которое потом отправляет данные в эти блоки.
function loadList(ipaddres) {
    document.getElementById('html').innerHTML= '<div id="active-'+ipaddres+'"></div>';
    createSocket(ipaddres);
   }


function createSocket(ipaddres) {
    var connection = new WebSocket('ws://'+ipaddres+':81/', ['site']);
    connection.onmessage = function (e) {
     var live=JSON.parse(e.data);
     if (live.temp) {
       document.getElementById('active-'+ipaddres).innerHTML=live.temp;
     }
    }
   }


Код работает. Вопрос как мне отправлять данные на НУЖНЫЙ сокет сервер?
connection.send('{"temp":"11"}');

Rise 05.05.2019 18:51

Сохранять в нужную структуру, например, если хочется делать так connections[ipString].send('{"temp":"11"}'), то должен быть var connections = {} в который пишется connections[ipaddres] = connection на каждый вызов createSocket.

dima85 06.05.2019 17:23

Спасибо!


Часовой пояс GMT +3, время: 08:52.