Задать вопрос
@vladimirStrgnv

При работе с sse получаю ошибку net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)?

При использовании SSE соединения происходит задержка отправки сообщения на клиент в 1 минуту. Сразу после отработки response на клиенте в консоли браузера появляется ошибка с текстом "net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)". Задержка отправления сообщения на клиент в 1 минуту свойственна для всех приложений размещенных на сервере. При работе с ngrok данной ошибки не возникает.
Код
router.get('/sse',   (req, res) => {
	res.setHeader('Content-Type', 'text/event-stream');
	res.setHeader('Access-Control-Allow-Origin', '*');
	res.setHeader('Connection', 'keep-alive');
	console.log('CONNCET');

	res.write(`data: {"ping": "pong"} \n\n`);
    const notifCenterListener = (data) => {
		if (JSON.parse(data).users.split('-').includes(req.query.id)) {
			if (connectionId[req.originalUrl] != JSON.parse(data).uuid) {
				connectionId[req.originalUrl] = JSON.parse(data).uuid;
				console.log('notif')
				res.write(`data: {"title": "${JSON.parse(data).title}","text": "${JSON.parse(data).text}","notifCenter": "true"}\n\n`);
			} 
		}
    }
	noticeEmit.on('notifCenter', notifCenterListener);

	const pushListener = (data) => {
		const pushSettings = JSON.parse(data);
		if (pushSettings.receivers.split('-').includes(req.query.id)) {
			console.log('push')
        	res.write(`data: {"push": "${pushSettings.link}", "text": "${pushSettings.text}", "id": "${pushSettings.id}", "subdomain": "${pushSettings.subdomain}", "receivers": "${pushSettings.receivers.split('-')}"}\n\n`);
		}
    }
	pushEmit.on('push', pushListener);
	
	req.on('close', function(){
        console.log('closed')
		pushEmit.removeListener('push', pushListener);	
		noticeEmit.removeListener('notifCenter', notifCenterListener);
    });
	
})
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы