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