我正在尝试发送一些文字&数字到客户端。第一个参数工作正常并将数据发送到服务器,但第二个参数显示为undefined
我正在使用以下代码
服务器端
io.sockets.on('connection', function (socket) {
randomHashtag.number = Math.floor((Math.random() * 10000) +1);
//var randomHashtag = Math.floor((Math.random() * 10000) +1);
io.emit('stream',{text:tweet.text, number:randomHashtag.number});
});
客户端
socket.on('stream', function(tweet,randomHashtag){//Stream tweets
console.log(tweet.text);
console.log(randomHashtag);
});
答案 0 :(得分:1)
我不熟悉socket.io,但我猜这个事件只接收你之前发出的对象:
socket.on('stream', function(data){//Stream tweets
console.log(data.text);
console.log(data.number);
});
答案 1 :(得分:0)
Socket.io旨在仅发送一个参数。或者没有。但那个参数可以是任何东西。因此,如果您需要发送多个值,请发送一个对象:
// Server (you got this part right):
io.emit('stream',{text:tweet.text,number:randomHashtag.number});
// Client:
socket.on('stream', function(data){
var tweet = data.text;
var randomHashtag = data.number;
});