현재 Node.js를 사용하여 Socket.io를 통해 정보를 보내려고하고 있지만 잘못된 것을하고있는 것처럼 보입니다. 그 이유는 모르겠습니다.socket.io와 함께 빈 객체 작성하기
내 컴퓨터에 Docker를 사용하는 일부 컨테이너가 있으며 원하는 모든 정보를 얻기 위해 내 응용 프로그램에 Docker.io 노드 패키지를 사용합니다. 여기
여기io.sockets.on('connection', function(socket){
socket.emit('message',container);
});
var container = docker.containers.list(handler);
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
소켓 메시지
var socket = io.connect('/');
socket.on('message', function(data){
console.log(data);
});
내가 (소켓을 통해 컨테이너를 보내고있다 데이터를 가져 클라이언트 측 코드의 데이터를 전송하는 서버 측 기능입니다 목록 모양) :
[ { Command: 'top ',
Created: 1393878688,
Id: 'fa46297fa16ff184673077545437a64f2adaf62db8774be696d76cc9f52b7881',
Image: 'ubuntu:12.04',
Names: [ '/cranky_archimedes' ],
Ports: [],
Status: 'Up 20 minutes' } ]
하지만 클라이언트 측에서 얻을 수있는 유일한 방법은 입니다 : 개체 {}
와 socket.io 로그는이 저에게 보내는 :
debug - websocket writing 5:::{"name":"message","args":[{}]}
[ { Command: 'top ',
Created: 1393878688,
Id: 'fa46297fa16ff184673077545437a64f2adaf62db8774be696d76cc9f52b7881',
Image: 'ubuntu:12.04',
Names: [ '/cranky_archimedes' ],
Ports: [],
Status: 'Up 20 minutes' } ]
인수 섹션은 비어 있습니다. 정말 컨테이너에 JSON을 어떻게 넣을 수 있는지 모르겠다. 그래서 그것을 적절히 보낼 수있다. 내가 놓친 게 있니?
편집 1 :
내 컨테이너 변수를 방출하기 전에 로그은 다음과 같습니다
{ callback: [Function: handler] }
당신은 컨테이너 개체가 예상 무엇인지 확인하기 위해'socket.emit' 전에 로그를 던진 적이 있습니까? 잘못된 장소의 모습입니다 당신의 클라이언트에서 여기 – sgress454
같습니다, 편집을 참조하십시오. – MaximeHeckel
중괄호 이상한 아무것도처럼 –