如何实现socket.io的生存时间

时间:2018-03-01 16:21:23

标签: javascript node.js express socket.io

我相信我已经上网了足够但仍然无法获得有关该主题的任何资源。 如何使用Socket.io实现'生存时间'功能?

我正在Node.js使用express。 上述time-to-live函数旨在如下所述:

如果我指定timeToLive = 10;秒,则在发出消息后不到10秒内连接的客户端仍应获取消息。 此功能适用于某些云消息传递库,如GCM

任何在线资源都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

socket.io 中没有此类功能。你必须自己实现它。考虑使用包含该消息的消息 Date.now()的对象数组,并在用户连接时将其循环。删除所有已过期的邮件,并发出仍然有效的邮件。 最小代码可能是这个,但由于大量使用拼接,它可能会很慢。

var can = document.getElementById('canvas1');
var ctx = can.getContext('2d');


can.addEventListener( 'touchstart', onTouchStart, false);

function onTouchStart(e) {
 ctx.fillRect(0,0,300,300);   
    
}

如果您需要,请考虑使用 redis 或任何其他高性能数据库在多台服务器之间进行同步: