admin管理员组

文章数量:1293642

Learning Node.js, Express.js and Socket.io.

Made a Chat an it works so far.

Now I would like to emit to the Client, that a user has entered or left the chat by emiting a variable that indicates that...

Ist that possible?

So something like this:

Server.js

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

Client:

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

// how to get the 'inout' here? }

Thanks for any Help... ;)

Learning Node.js, Express.js and Socket.io.

Made a Chat an it works so far.

Now I would like to emit to the Client, that a user has entered or left the chat by emiting a variable that indicates that...

Ist that possible?

So something like this:

Server.js

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

Client:

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

// how to get the 'inout' here? }

Thanks for any Help... ;)

Share Improve this question edited Mar 13, 2020 at 15:13 JVE999 3,51712 gold badges61 silver badges95 bronze badges asked Nov 1, 2016 at 0:02 bernd pfefferbernd pfeffer 331 gold badge1 silver badge3 bronze badges 2
  • 1 You ;) don't ;) need ;) all ;) those ;) winky ;) faces ;). (ps, this might be of help.) – Darren Commented Nov 1, 2016 at 0:18
  • Oh no! Where did all my smilies go? ;O I like to show my emotions.. hehe ;) – bernd pfeffer Commented Nov 1, 2016 at 7:52
Add a ment  | 

2 Answers 2

Reset to default 4

The simplest way is to emit object:

let users = []
let inout

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

I think you need to read the documentation more clearly, because this doesn't look like Socket.io.

Here's an example of sending an array, along with some other data:

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>

本文标签: javascriptsocketio How to emit an Array and a Variable simultaneouslyStack Overflow