Java 使用web套接字操作从服务器获取的数组时出现问题
我在通过websockets操作回调函数中获得的数组时遇到了一些问题 服务器端代码Java 使用web套接字操作从服务器获取的数组时出现问题,java,node.js,websocket,Java,Node.js,Websocket,我在通过websockets操作回调函数中获得的数组时遇到了一些问题 服务器端代码 var io = require('socket.io').listen(app); io.sockets.on('connection', function (socket) { var currentTime = new Date().getTime(); var startTime = currentTime - (5*60*1000); step = 30*1000; v
var io = require('socket.io').listen(app);
io.sockets.on('connection', function (socket) {
var currentTime = new Date().getTime();
var startTime = currentTime - (5*60*1000);
step = 30*1000;
var stats = [];
stats["values"] = [1, 2, 3, 4, 3, 4, 5, 8, 2, 3, 4, 1];
stats["start"] = startTime;
stats["end"] = currentTime;
socket.emit('initial', { stats: stats });
socket.on('echo', function (data) {
});
});
var data;
socket.on('initial', function (stats) {
data = stats.stats;
});
客户端代码
var io = require('socket.io').listen(app);
io.sockets.on('connection', function (socket) {
var currentTime = new Date().getTime();
var startTime = currentTime - (5*60*1000);
step = 30*1000;
var stats = [];
stats["values"] = [1, 2, 3, 4, 3, 4, 5, 8, 2, 3, 4, 1];
stats["start"] = startTime;
stats["end"] = currentTime;
socket.emit('initial', { stats: stats });
socket.on('echo', function (data) {
});
});
var data;
socket.on('initial', function (stats) {
data = stats.stats;
});
现在当我尝试操作数据变量时,比如使用push和shift
data.values.push(10);
data.values.shift();
我原以为会有
2,3,4,3,4,5,8,2,3,4,1,10
但我不知道shift操作会完全删除所有元素,而数组中只剩下10个元素。出了什么问题?您将获得响应对象
{stats:stats}
,但您对stats
属性感兴趣:
var data;
socket.on('initial', function (obj) {
data = obj.stats;
});
@伊尔辛。我就是这么做的。对不起,我在代码中打错了。我现在已经修好了。问题是,即使我这样做,它也不起作用。当我尝试使用shift操作数据对象时。它删除了所有元素。你确定数组之前真的被填满了吗?你将stats初始化为
var stats=[]代码>将其更改为var stats={}
在操作控制台之前,您可以发布数据的日志吗?