socket.io每秒发射一次

真的很快问题。

我正在创build一个同步stream媒体应用程序,所以我想通过socket.io发送每秒播放的当前时间码并将其广播到其他客户端。

这是明智的吗? 每秒拨打同一个电话有什么缺点,我可以同时拨打其他电话吗?

PS我没有做任何数据库调用或做任何处理服务器端。

而不是很多客户观看video应该没问题,但是如果观看用户的数量开始变大的话,最终你会遇到很小的滞后。

另一种方法是跟踪服务器,例如你可以这样做

video加载自动播放或发出事件来启动计时器服务器端

// from client-side socket.emit('videoplaying',/* some video data */); 

在服务器端,您可以根据套接字ID启动小型定时器

 function Timer(VideoInformation){ this.currentTime=0; this.startedAt=+new Date(); this.endedAt=null; this.title=VideoInformation.title||'Untitled'; this.interval=null; this.play=function(){ var self=this; this.interval=setInterval(function(){ self.currentTime=+new Date(); },1000); } this.stop=function(){ if(this.interval!==null){ clearInterval(this.interval) } } //.. pause/end/reset .. } //server side var TimeTracker={}; // handling new videoplaying socket.on('videoplaying',function(videoInformation){ if(!TimeTracker.hasOwnProperty(socket.id)){ TimeTracker[socket.id]=[]; } TimeTracker[socket.id].push(new Timer(videoInformation)); }); 

最后,您将事件监听器添加到用户正在查看的当前video,以通知服务器定时器它已经暂停/停止/点击特定video时间等。

希望它有帮助,这不是一个工作的解决scheme,更多的是一个概念..