socket.io:如何同时发出数组和变量

时间:2016-11-01 00:02:58

标签: javascript node.js sockets express

学习Node.js,Express.js和Socket.io。

进行聊天,目前为止有效。

现在我想向客户端发出一个用户已经通过发出一个表明...的变量来输入或离开聊天的内容。

我可能吗?

这样的事情:

Server.js

var users = [];
var inout;
function updateUsers(){
    io.emit('users', users, 'inout', inout);
}

客户端:

  

var socket = io.connect('http://'+window.location.hostname+':3000');     socket.on('users',function(data){

     

//如何在这里获得'inout'? }

感谢您的帮助...;)

2 个答案:

答案 0 :(得分:1)

最简单的方法是发出对象:

var users=[]
var inout

function updateUsers(){
    io.emit('users', {users, inout});
}

答案 1 :(得分:0)

我认为您需要更清楚地阅读documentation,因为这看起来不像Socket.io。

以下是发送数组以及其他一些数据的示例:

var io = require("socket.io")(3001);
io.emit("myEvent", {
  somethingToSendToBrowser: "Hello",
  arrayToSendToBrowser: [
    "I'm the data that will get sent.",
    "I'm some more data.",
    "Here's the third piece of data."
  ]
});
<script src="/node_modules/socket.io-client/socket.io.js"></script>
<script>
var socket = io("http://localhost:3001");
socket.on("myEvent", function(data){
  console.log(data.arrayToSendToBrowser);
  // ["I'm the data that will get sent.", "I'm some more data.", "Here's the third piece of data.]"
});
</script>