v2.3.0μμ io.engine.generateId
λ₯Ό μ€μ νλ©΄ κ·Έμ λ°λΌ μμΌ IDκ° μ€μ λ©λλ€.
3x(3.0.0 λ° 3.0.3μμ ν
μ€νΈ)μμλ κ·Έλ μ§ μμ΅λλ€.
Node.jsμμ:
const express = require('express');
const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server);
const { v4: uuidv4 } = require('uuid');
io.engine.generateId = function (req)
{
return uuidv4();
}
v2.3.0μμ μμ ν λ μμΌ IDμ μμ νμμ μ΄ κ²½μ° "xxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"μ΄λ©° x μμ«μμ¬μΌ ν©λλ€. λμ κΈ°λ³Έ μμΌ ID νμμ μ»μ΅λλ€.
μ€λ₯κ° λ°μνμ§ μκ³ νμμ΄ μ€μ λμ§ μμμ λΏμ λλ€.
μ, μμλ©λλ€.
κ΄λ ¨ 컀λ°μ λ€μκ³Ό κ°μ΅λλ€. https://github.com/socketio/socket.io/commit/2875d2cfdfa463e64cb520099749f543bbc4eb15
λ°λΌμ generateId
λ©μλλ μ¬μ ν v3μμ μλνμ§λ§ μ΄μ μμΌμ id
μμ±μ΄ μλλΌ sid
쿼리 맀κ°λ³μμλ§ μν₯μ μ€λλ€.
μ¬μ© μ¬λ‘κ° λ¬΄μμΈμ§ μ¬μ€λ΄λ λ κΉμ?
μ€, μμμ΄! μ 보μ λν΄μ κ°μ¬λ립λλ€.
id
λ₯Ό μ¬μ¬μ©νμ¬ peer.jsλ₯Ό μ¬μ©νλ νμ ν΅νλ₯Ό μν΄ λ€λ₯Έ ν΄λΌμ΄μΈνΈμ μ μ‘νμ§λ§ peer.jsλ κ·Έ νμμ μ’μνμ§ μμ΅λλ€.
νμ§λ§ λ°©κΈ μ»€λ°μμ 보μμμ μ΄μ λ‘ μ΄ μμ μ μννμ§ μμμΌ νλ€κ³ μΈκΈν κ²μ 보μμΌλ―λ‘ μ΄ λ¬Έμ λ₯Ό λ«μ μ μμ κ² κ°μ΅λλ€.
κ°μ¬!
λ²μ 3.0μμμ κ°μ΄ μ΄ λ¬Έμ λ₯Ό λ€μ μ΄μ΄μΌ νλ€κ³ μκ°ν©λλ€(λλ μ λ¬Έμ κ° μμ±λ¨). λλ κ·Έκ²μ΄ λ μ΄μ socket.id μμ±μ λ체νμ§ μλλ€λ κ²μ μ΄ν΄νμ§λ§ @darrachequesne μ΄μ μ£Όμμ κ·Έκ²μ΄ λ€λ₯Έ μμ±μ λ³κ²½νκ³ μλ€κ³ μ μν©λλ€.
κ·Έλ¬λ λ¬Έμμ λ°λΌ λ€μμ μνν©λλ€.
const content = require('fs').readFileSync(__dirname + '/index.html', 'utf8');
const httpServer = require('http').createServer((req, res) => {
// serve the index.html file
res.setHeader('Content-Type', 'text/html');
res.setHeader('Content-Length', Buffer.byteLength(content));
res.end(content);
});
const io = require('socket.io')(httpServer);
io.engine.generateId((req) => {
console.log('This line is never executed');
return new Date().valueOf().toString()
});
io.on('connection', socket => {
console.log('connect');
console.log(socket.sid);
});
httpServer.listen(3000, () => {
console.log('go to http://localhost:3000');
});
ν¨μλ νΈμΆλμ§ μμ΅λλ€.
@BrianHVB κ·νμ μ½λ μμ μ μ€νκ° μλ€κ³ μκ°ν©λλ€.
io.engine.generateId = ((req) => {
console.log('This line is never executed');
return new Date().valueOf().toString()
});
λ¬Έμ κ° ν΄κ²°λμλμ§ νμΈν΄ μ£Όμκ² μ΅λκΉ?
@darrachequesne - μ£μ‘ν©λλ€. κ·Έλ μ΅λλ€. κ°μ¬ν©λλ€.