gpt4 book ai didi

javascript - 使用 Socket.io 和 Node.js 进行倒数计时器广播

转载 作者:行者123 更新时间:2023-12-03 04:56:46 25 4
gpt4 key购买 nike

我正在使用 Node.js 构建应用程序的新版本。下面您将看到我的获胜者倒计时,其中 console.log(counter) 的输出需要通过 Socket.io 广播给所有客户端。

var counter = 10;
var WinnerCountdown = setInterval(function(){
console.log(counter);
counter--

if (counter === 0) {
console.log("Congratulations You WON!!");
clearInterval(WinnerCountdown);
}
}, 1000);

我的Socket.IO代码如下:

setInterval(() => {
wss.clients.forEach((client) => {
client.send(new Date().toTimeString());
});
}, 1000);

我应该用什么替换new Date().toTimeString(),以便它显示console.log的消息?

最佳答案

要向所有客户端广播,您可以使用 io.sockets.emit('counter', counter); 。这是一个脚本示例,您可以使用它来实现(我认为)您想要做的事情:

服务器.js

io.on('connection', function(socket){
var counter = 10;
var WinnerCountdown = setInterval(function(){
io.sockets.emit('counter', counter);
counter--
if (counter === 0) {
io.sockets.emit('counter', "Congratulations You WON!!");
clearInterval(WinnerCountdown);
}
}, 1000);
});

client.js

var socket = io();

socket.on('counter', function(count){
$('#messages').append($('<li>').text(count));
});

希望这对您有所帮助,如果您有任何后续问题,请评论!

关于javascript - 使用 Socket.io 和 Node.js 进行倒数计时器广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42398795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com