使用Firefox OS的Web服务器(Use Firefox OS as web server)

2019-11-03 14:15发布

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

从我的理解,一个Firefox OS设备可以作为一个WiFi接入点(“分享互联网”)。 但是,它不能作为对加入该网络的其他设备小型web服务器 - 没有任何互联网连接。 对于本地应用这些API似乎只是没有足够强大。

但是,也许我错了(我想是)。 所以,是一个Firefox OS设备能够作为一个小型的web服务器上运行?

Answer 1:

httpd.js并没有为我工作外的开箱。 但它给我带来了正确的轨道上。 后来我发现这和代码的调整和更新的一点点后,我得到了一个超级简单的服务器解决方案。

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需要许可。

有了这个代码,我能够在火狐OS模拟器启动这个,直接把我的浏览器打开的http://本地主机:8080 ,并获得在控制台的答案和日志。

PS。 这也适用于一个真实的设备上。 不幸的是,需要一个单独的接入点。 而Firefox OS可以作为一个热点本身的工作,这既不能在该模式下客户端或服务器(传出连接不正确路由和入站连接被拒绝)。



Answer 2:

你应该尝试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);


Answer 3:

我不认为你需要为这个任务的服务器,你可以做的WebRTC主从通信和处理声音的客户端的执行。



Answer 4:

我最近写了一篇关于Mozilla的黑客博客展示如何实现这个的文章:

嵌入在Firefox OS的HTTP Web服务器



文章来源: Use Firefox OS as web server