我们可以将参数传递给io.on();哪个可以在连接期间用作socket.id而不是自动生成的套接字ID?如果是的话......可以通过var socket = io(); ?
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/',function(req,res){
res.sendfile('client.html');
});
io.on('connection',function (socket) {
console.log("connected");
socket.on('disconnect',function(data){
console.log( socket.id+" disconnected");
});
});
http.listen(3000,function(){
console.log("listening on port 3000");
});
我到目前为止所做的是在会话中存储套接字ID,然后用它覆盖自动生成的套接字ID ...虽然这不是一个好方法。我不希望在连接发生后将套接字ID更改为自定义ID,我希望连接首先使用该自定义ID初始化套接字。
`
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket=io();
</script>
...</html>
答案 0 :(得分:0)
我所做的是将socket.id设置为我想要的。当你执行socket.join时,它会保留你之前设置的正确套接字ID。不确定这是不是你指的是什么。