对于一个艺术项目,我希望有多个可以输出声音的分布式设备。 Firefox OS设备似乎是最佳的。他们带来了必要的硬件,我非常了解HTML和JS。但我还需要一个控制Web服务器。
据我了解,Firefox OS设备可以充当WiFi接入点(" Share Internet")。但是,它不能作为加入网络的其他设备的小型Web服务器 - 没有任何Internet连接。原生应用程序的API似乎不够强大。
但也许我错了(我想成为)。那么,Firefox OS设备能够作为小型Web服务器运行吗?
答案 0 :(得分:1)
httpd.js对我来说并不是开箱即用的。但它让我走上正轨。然后我找到了this,经过一些调整和更新代码后,我得到了一个超级简单的服务器解决方案。
function startListen(){
console.log("Initializing server");
var socketServer = navigator.mozTCPSocket.listen(8080);
socketServer.onconnect = function(conn){
console.log("connected", conn, conn.ondata);
conn.ondata = function(ev){
console.log("Got request: ", ev);
conn.send("Ok. Got client on port " + conn.port);
conn.close();
};
conn.onclose = function(ev){
console.log("Client left:", ev);
}
};
socketServer.onerror = function(ev){
console.log("Failed to start: ", ev);
};
}
startListen();
需要tcp-socket
权限。
使用此代码,我可以在Firefox OS模拟器中启动它,指示我的浏览器打开http://localhost:8080并获得答案并登录控制台。
PS。这也适用于真实设备。不幸的是,需要一个单独的接入点。虽然Firefox OS本身可以作为热点使用,但在该模式下它既不是客户端也不是服务器(传出连接未正确路由,传入连接被拒绝)。
答案 1 :(得分:0)
您应该尝试httpd.js。该库适用于FirefoxOS 2.0。
// create a server object
server = new HttpServer();
// configure /sdcard/public as document root
server.get("/", "/sdcard/public");
// launch on port 3000
server.start(3000);
答案 2 :(得分:0)
我认为您不需要服务器来完成此任务,您可以与WebRTC进行主从通信并处理声音客户端的执行。
答案 3 :(得分:0)
我最近写了一篇关于Mozilla Hacks博客的文章,演示如何实现这个: