是否可以创建浏览器扩展以允许传入请求?

时间:2011-10-16 21:40:09

标签: google-chrome javascript-events firefox-addon google-chrome-extension push-notification

我希望找到一种向浏览器发送传入请求的方法。在浏览器中安装扩展程序就可以了。这样做的目的是允许另一台机器连接到扩展以控制游戏,而无需中间服务器。

这可行吗?是否可以使Chrome或Firefox扩展程序打开一个端口以允许传入请求?

1 个答案:

答案 0 :(得分:2)

您要求的是服务器套接字。对于Chrome,答案为“否”,Chrome扩展程序只能打开客户端连接。另一方面,Firefox扩展可以使用nsIServerSocket interface来侦听端口上的传入TCP连接。如果您使用Add-on SDK,则需要使用chrome package。像这样:

var {Cc, Ci} = require("chrome");
var socket = Cc["@mozilla.org/network/server-socket;1"]
               .createInstance(Ci.nsIServerSocket);
socket.init(12345, false, -1);
socket.asyncListen({
  onSocketAccepted: function(socket, transport)
  {
    ...
  },
  onStopListening: function(socket, status)
  {
  }
});
相关问题