【问题标题】:Chrome Sockets in a Web Worker?Web Worker 中的 Chrome 套接字?
【发布时间】:2015-07-28 20:44:38
【问题描述】:

我有一个 Chrome 打包应用程序,它使用 Chrome.sockets.udp 接收包含音频数据的 UDP 数据包,并使用 Web Audio API 播放它们。正如你所想象的那样,这最终会给 CPU 带来相当大的负载,如果我尝试打开另一个 Chrome 窗口,我就会开始丢弃数据包,这让我相信,一旦我开始添加交互式 UI 元素,我就会开始运行成问题。我想在 Web Worker 中很好地打包所有这些东西以避免这种情况,但是当我尝试这样做并在我的 Web Worker 中声明 var socket = chrome.sockets.udp; 时,当我尝试使用它时,我最终得到了一个 Uncaught ReferenceError: chrome is not defined。不能在 Web Worker 中使用 Chrome 套接字 API 吗?看起来 Web Worker 将是此类事物的完美用例。

【问题讨论】:

  • 你不能在 webworkers 中使用 chrome API。我正在使用 udp 和 tcp,我只是将它连接起来以将数据包直接发送到网络工作者进行处理。它帮助很大,但你可以在其中使用 chrome API 确实很糟糕。

标签: javascript sockets google-chrome web-worker


【解决方案1】:

您可以使用可转移对象将 Blob/Buffer 从主应用程序传递到 Web Worker 进程。

【讨论】:

  • 感谢您的帮助。这是正确的做法——不幸的是,Web Worker 目前不支持 Web Audio 上下文,所以对我而言,这没有实际意义。还是谢谢。
猜你喜欢
  • 2019-07-18
  • 2012-09-20
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 2015-02-21
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多