1

我需要找到一种在 Firefox for Android (fennec) 和我的 Android 服务之间进行通信的方法。解决方案之一是使用 WebSockets 代码进行通信:

var ws = new WebSocket("ws://localhost:8887/");
ws.onopen = function() {
  console.log("SENDING");
  ws.send("Hello messsage");
} 

06-16 13:14:10.099:I/Gecko(8055):消息:ReferenceError:未定义 WebSocket

fennec 插件是否支持 WebSocket?

4

1 回答 1

1

WebSockets 在 Firefox for Android 上可用,但通常的WebSocket构造函数在bootstrap.js(沙盒)或 js 代码模块中不可用,因为这些模块没有附加 DOM 窗口,而是独立的 JS。

但是,仍然有两种方法可以创建 Web 套接字:

  1. 使用new Services.appShell.hiddenDOMWindow.WebSocket(...). (不过,我记得曾经有人讨论过要删除 Android 上的隐藏窗口?!)
  2. 使用稍低级别的 XPCOM 组件nsIWebSocketChannel来实现nsIWebSocketListener

顺便说一句,您可能想查看Remotely debugging Firefox for Android

于 2014-06-16T13:55:09.403 回答