LXD – 如何通过nodejs下的unix套接字域连接到LXD API?

如何通过nodejs下的unix套接字域连接到LXD API? 我尝试下面的代码,但失败。 我有这个答案: HTTP / 1.1 400错误的请求

var net = require('net'); var lxdUSD='/var/lib/lxd/unix.socket'; var net = require('net'); var client = net.connect({path: lxdUSD}, function() { //'connect' listener console.log('connected to socket!: '+lxdUSD); }); client.on('data', function(data) { console.log(data); console.log(data.toString()); client.end(); }); client.on('end', function() { console.log('disconnected from socket!: '+lxdUSD); }); client.on('error', function() { console.log('Error'); process.exit(-1); }); setInterval(function(){ var msg="GET /1.0/containers HTTP/1.1\r\n"; console.log("write to socket: "+msg); client.write(msg); console.log("........"); }, 15*1000); 

从命令行尝试以下工作:

 echo -e "GET /1.0/containers HTTP/1.1\r\n" | socat unix-connect:/var/lib/lxd/unix.socket STDIO 

输出:

 HTTP/1.1 200 OK Content-Type: application/json Date: Thu, 15 Oct 2015 15:02:59 GMT Content-Length: 135 {"type":"sync","status":"Success","status_code":200,"metadata":["/1.0/containers/pc01","/1.0/containers/pc02","/1.0/containers/pc03"]} 

固定:

代替

 var msg="GET /1.0/containers HTTP/1.1\r\n"; 

一定是:

 var msg="GET /1.0/containers HTTP/1.1\r\n\r\n";