我希望找到一种向浏览器发送传入请求的方法。在浏览器中安装扩展程序就可以了。这样做的目的是允许另一台机器连接到扩展以控制游戏,而无需中间服务器。
这可行吗?是否可以使Chrome或Firefox扩展程序打开一个端口以允许传入请求?
答案 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)
{
}
});