用户传递socket.id进行连接

时间:2018-03-21 09:31:45

标签: node.js sockets express socket.io

我们可以将参数传递给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>

1 个答案:

答案 0 :(得分:0)

我所做的是将socket.id设置为我想要的。当你执行socket.join时,它会保留你之前设置的正确套接字ID。不确定这是不是你指的是什么。