나는 socket.io와 node.js를 배우기 시작했다. 나는 꽤 기본적인 것들을 시도하고있다. (또는 그렇게 생각한다.) 그러나 나는 할 수 없다.socket.io + node.js에있는 현재 활성 소켓을 유지하는 방법은 무엇입니까?
그때 연결된 클라이언트를 저장하고 싶은var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(8080);
var clients = [];
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.sockets.on('connection', function (socket) {
clients[socket.id] = true;
socket.broadcast.emit('conection', { id: clients});
});
, 즉, OnConnection 그들에게 연결된 모든 클라이언트를 보내
여기 내 노드 응용 프로그램입니다. 요점은, 내가 올바르게 clients.push(socket.id)
기능을 사용하기 때문에 자바 스크립트에서 배열을 올바르게 사용하는 방법을 모르겠지만, pop
socket.id
클라이언트가 배열을 통해 반복하지 않고 연결을 끊으면 그럴 수 없습니다.
현재 열려있는 소켓을 가져 오는 방법이 있더라도 현재 소켓 세션에서 다른 용도로 사용하지 않기 때문에이 방법으로이 작업을 수행하려고합니다.
나는, 그렇게 정말 멍청한 놈 질문하시기 바랍니다 알고는 처음처럼
이
당신에게 대단히 감사합니다 그리고 당신이 또한 허용 대답을 upvote에 수있는 방법으로, 도움 : –
다행 뭔가 새로운 것을 배웠다. – alessioalex