学习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'? }
感谢您的帮助...;)
答案 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>