나는 nodejs에 새로워서 이상하게 들릴지 모르지만 필요한 것은 내가 로그인 한 사용자가 서로 로그인하여 하나 또는 여러 개의 채팅을 할 수있는 채팅 응용 프로그램을 만들고 싶지만 문제는 if 사용자는 여기에 내가nodejs에서 socketid를 유지 관리하는 방법은 무엇입니까?
서버 측
var app = require('express')();
var fs = require('fs');
var forceSsl = require('express-force-ssl');
app.use(forceSsl);
var options = {
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.crt')
};
var server = require('https').createServer(options, app).listen(3000,function(){
console.log("Https server started on port 3000");
});
var io = require('socket.io').listen(server);
var sockets = {};
var users = {};
io.on('connection', function(socket)
{
console.log("Hi i am connected");
// Emit the connected users when a new socket connects
for (var i in sockets)
{
socket.emit('user.add', { username: sockets[i].username, id: sockets[i].id });
}
// Add a new user
socket.on('username.create', function (data)
{
socket.username = data;
sockets[socket.id] = socket;
users[data] = socket.id;
io.emit('user.add',{ username: socket.username, id: socket.id });
});
// Send the hug event to only the socket specified
socket.on('pm', function (data)
{
io.to(users[data.username]).emit('message', data.message);
});
// Remove disconnected users
socket.on('disconnect', function()
{
delete sockets[socket.id]; io.emit('user.remove', socket.id);
});
});
클라이언트 측
012을 사용하는 내 코드는 내가 서버 측에서 유지 보수 사용자 목록의 소켓 ID를 유지할 수있는 방법을 다음 브라우저를 새로 고침
당신은'노드 js'의 세션에서 소켓 ID를 저장할 수 있습니다. –
은 새로 고침 페이지 후 그 작업입니까? –
이것을 확인하십시오 - https://www.tutorialspoint.com/expressjs/expressjs_sessions.htm –