js。目前我已经成功完成了几次测试
- 你好世界
- 服务器-客户端与事件的通信
- 许多房间
但我无法将客户端发送给客户端,我使用的是socket.io
我想这样做的原因是有一个当前客户的列表
编辑:
我需要在服务器端为每个用户存储信息
我尝试使用
var io = require('socket.io');
var socket = io.listen(9876);
socket.on('connection', function(client) {
client.join('room');
console.log('new client ' + client.toString());
client.in('room').emit('list', client ); //<-- Error here
client.on('message', function(event) {
console.log('client message! ', event);
client.send(event);
});
client.on('chat', function(data) {
client.broadcast.in('room').emit('LDS', data);
client.in('room').emit('LDS', data);
});
client.on('disconnect', function() {
console.log('out');
});
});
但抛出此错误
connections property is deprecated. Use getConnections() method
C:\Repos\InWeb\NO\node_modules\socket.io\lib\parser.js:75
data = JSON.stringify(ev);
^
TypeError: Converting circular structure to JSON
at Object.stringify (native)
最初的想法是发送一个客户列表,像这样
var listClients;
socket.on('connection', function(client) {
client.join('room');
listClients.push(client);
client.in('room').emit('list', listClients); //<-- But throws same error
我猜错误是由客户端上下文给出的
我能修好它?