Я использую веб-сокет для передачи данных из процесса (работающего в фоновом режиме) в мое электронное приложение (средство визуализации, это электронное приложение).В основном это прекрасно работает, данные принимаются и отображаются мгновенно.
Однако в некоторых случаях я заметил, что клиент веб-сокета, похоже, буферизировал входящие сообщения и запускал событие receive только после некоторой задержки, что приводило к сообщениям.получено как пакет.
Чтобы убедиться, что сервер ничего не буферизует, я запустил второе соединение и просто зарегистрировал данные (chrome-addon), там все данные получены и обработаны мгновенно, пока мое электронное приложениезадерживает сообщения.
Я использую ReconnectingWebsocket
, но также попробовал простое приложение веб-сокета:
let webSocket = new WebSocket('ws://0.0.0.0:7700')
webSocket.onopen = function(openEvent) {
console.log('WebSocket OPEN: ' + JSON.stringify(openEvent, null, 4))
}
webSocket.onclose = function(closeEvent) {
console.log('WebSocket CLOSE: ' + JSON.stringify(closeEvent, null, 4))
}
webSocket.onerror = function(errorEvent) {
console.log('WebSocket ERROR: ' + JSON.stringify(errorEvent, null, 4))
}
webSocket.onmessage = function(messageEvent) {
var wsMsg = messageEvent.data
console.log('WebSocket MESSAGE: ' + wsMsg)
}
WebSocket MESSAGE:
отображается только с некоторой задержкой.Есть ли какая-либо опция конфигурации, например буферизация на стороне клиента, или процесс рендеринга должен вызываться чаще ..?