vue.js - Electron App中的Websocket客户端延迟接收

标签 vue.js websocket electron

我正在使用一个websocket将数据(从后台运行)发送到我的 Electron 应用程序(渲染器,这是一个 Electron 对战应用程序)。通常情况下,这种方法效果很好,可以立即接收并显示数据。

但是,在某些情况下,我注意到websocket客户端似乎在缓冲传入的消息,并且仅在一段时间延迟后才触发接收事件,从而导致批量接收消息。

为了验证服务器没有缓冲任何内容,我运行了第二个连接并简单地记录了数据(chrome-addon),在我的 Electron 应用程序延迟消息的同时,立即接收并处理了所有数据。

我正在使用ReconnectingWebsocket,但也尝试了一个简单的websocket应用程序:

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:仅显示一段时间。是否有任何配置选项,例如在客户端缓冲,还是必须更频繁地调用渲染过程。

最佳答案

不确定解决方案,但我们在https://github.com/firesharkstudios/butterfly-server-dotnet/tree/master/Butterfly.Example.Todo上有一个使用Vue + Electron的演示应用程序,该应用程序也使用WebSockets。我从未见过像您看到的那样出现延迟或缓冲。也许您可以比较实现以找到原因。

关于vue.js - Electron App中的Websocket客户端延迟接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345461/

相关文章:

javascript - vue.js - 动态 html 标签(使用变量)

python - websocket 出现奇怪的字符

javascript - 构建实时股票报价应用程序? (大量 XMLHttpRequest?)

module - 在 Electron 预建 1.x 但在 0.x(0.2 和 0.3)中找不到模块

typescript - "ReferenceError: process is not defined"尝试在 vue 组件中使用 proto-loader 和 grpc-js 加载 grpc 包

webpack - 如何在最新的 vue-cli 启动项目中使用 SASS/SCSS?

node.js - sockets.io 有时会发出失败吗?

angularjs - 是否可以在 Electron 应用程序上使用 nodejs 依赖项?

javascript - 从 html 获取 href 属性会产生不需要的结果

javascript - 单击组件按钮更改 Vue 根实例数据值,然后更改另一个组件的 v-show/v-if