使用Firefox OS作为Web服务器

时间:2015-01-21 08:39:30

标签: webserver firefox-os

对于一个艺术项目,我希望有多个可以输出声音的分布式设备。 Firefox OS设备似乎是最佳的。他们带来了必要的硬件,我非常了解HTML和JS。但我还需要一个控制Web服务器。

据我了解,Firefox OS设备可以充当WiFi接入点(" Share Internet")。但是,它不能作为加入网络的其他设备的小型Web服务器 - 没有任何Internet连接。原生应用程序的API似乎不够强大。

但也许我错了(我想成为)。那么,Firefox OS设备能够作为小型Web服务器运行吗?

4 个答案:

答案 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博客的文章,演示如何实现这个:

Embedding an HTTP Web Server in Firefox OS