gpt4 book ai didi

javascript - Socket.io 自定义客户端 ID

转载 作者:IT老高 更新时间:2023-10-28 22:00:52 30 4
gpt4 key购买 nike

我正在使用 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;
}
}

});
});

在本例中,您需要从每个客户端调用 storeClientInfo

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

socket.on('connect', function (data) {
socket.emit('storeClientInfo', { customId:"000CustomIdHere0000" });
});
</script>

希望这会有所帮助。

关于javascript - Socket.io 自定义客户端 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702461/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com