Socket.io自定义客户端ID

我正在与socket.io聊天应用程序,我想用我的自定义客户端ID,而不是默认的(84114736213944127071120516437992682114)。连接时是否有任何发送自定义标识符的方式,或仅使用某种方式来跟踪每个ID的自定义名称?谢谢!

回答:

您可以在服务器上创建一个数组,并在其上存储自定义对象。例如,您可以存储Socket.io创建的ID和每个客户端发送到服务器的自定义ID:

var util = require("util"),

io = require('/socket.io').listen(8080),

fs = require('fs'),

os = require('os'),

url = require('url');

var clients =[];

io.sockets.on('connection', function (socket) {

socket.on('storeClientInfo', function (data) {

var clientInfo = new Object();

clientInfo.customId = data.customId;

clientInfo.clientId = socket.id;

clients.push(clientInfo);

});

socket.on('disconnect', function (data) {

for( var i=0, len=clients.length; i<len; ++i ){

var c = clients[i];

if(c.clientId == socket.id){

clients.splice(i,1);

break;

}

}

});

});

在此示例中,您需要从每个客户端调用 。

<script>

var socket = io.connect('http://localhost', {port: 8080});

socket.on('connect', function (data) {

socket.emit('storeClientInfo', { customId:"000CustomIdHere0000" });

});

</script>

希望这可以帮助。

以上是 Socket.io自定义客户端ID 的全部内容, 来源链接: utcz.com/qa/427705.html

回到顶部