我正在使用 socket.io 制作一个聊天应用程序,并且我想使用我的自定义客户端 ID,而不是默认的客户端 ID(8411473621394412707
, 1120516437992682114
)。有没有什么方法可以在连接时发送自定义标识符,或者只是使用某些东西来跟踪每个 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>
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)