我试图在与套接字 io 断开连接时将用户名发送到后端,当我在取消订阅套接字连接时将用户名作为参数传递时,它给了我问题传输错误。
这是我的代码
客户端“连接”只是一个变量:
messages = [];
connectedUsers = [];
connection;
message;
Username = JSON.parse(localStorage.getItem('user')).username;
users = [];
ngOnDestroy() {
this.connection.unsubscribe({username: 'emons'});
}
Run Code Online (Sandbox Code Playgroud)
服务器端这是我处理发出的地方,控制台日志功能正常,但“console.log(usersConnected[i] +' was spliced')”不起作用,因为条件从未满足:
const app = express();
const port = 3000;
const server = http.Server(app);
const io = socketIo(server);
var usersConnected = [];
io.on('connection', function(socket){
console.log('a user connected');
/*socket.on('new-connection', function(user) {
io.sockets.emit('newUser', {type: 'new-connection', username: user});
}); */
socket.on('disconnect', function(user){
console.log(user + ' jsjasdjbskjcbawsjbsajdbasjabdsj')
for (var i = 0; i < usersConnected.length; i++) {
if …
Run Code Online (Sandbox Code Playgroud)