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

学习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)

3 years ago

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

var users=[]
var inout

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

3 years ago

我认为你需要更清楚地阅读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>