JavaScript WebSocket.readyState — стан з'єднання


Властивість readyState показує стан з'єднання — числом від 0 до 3.

автор: NagarD

Загальний опис

Значення мають іменовані константи, і користуватись треба саме ними, а не числами:

  • WebSocket.CONNECTING (0) — встановлюється;
  • WebSocket.OPEN (1) — готове, можна слати;
  • WebSocket.CLOSING (2) — закривається;
  • WebSocket.CLOSED (3) — закрите.

Перевірка на OPEN перед кожним send() — обов'язкова дисципліна: з'єднання може обірватись між двома рядками коду, і ти про це не дізнаєшся.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
readyState 16+ 11+ 7+ 12.1+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
readyState 4.4+ yes yes 6+

Приклади

+ запропонувати свій приклад у пісочниці

Черга повідомлень на час, поки з'єднання не готове.

const socket = {
    onopen: 'значення',
    readyState: 'значення',
    send: 'значення'
};

const queue = [];

function send(message) {
    if (socket.readyState === WebSocket.OPEN) {
        socket.send(JSON.stringify(message));
        return;
    }

    // ще не готове — чекає в черзі
    queue.push(message);
}

socket.onopen = () => {
    // відкрилось — розвантажуємо чергу
    while (queue.length > 0) {
        socket.send(JSON.stringify(queue.shift()));
    }
};
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід