Ответы пользователя по тегу WebSocket
  • Как сделать ожидание коннекта к WebSocket?

    // Соединение
    const socket = new WebSocket('ws://localhost:8888')
    // Очередь сообщений
    let queue = []
    
    // Отправляет сообщение
    function sendMessage(message) {
        // Проверка, установлено ли соединение
        if (socket.readyState !== WebSocket.OPEN) {
            // Ежели нет, добавляем сообщение в очередь
            queue.push(message)
            return
        }
        
        // Отправляет сообщение, если есть соединение
        socket.send(message)
    }
    
    // Обработка события открытия соединения
    socket.addEventListener('open', () => {
        // При открытии соединение тут же отправляем накопленные сообщения
        queue.forEach(message => {
            sendMessage(message)
        })
        
        // Очищаем очередь
        queue = []
    })
    Ответ написан
    1 комментарий