您可以在内部定义一个反应计数器,global.R该计数器在用户连接时增加并在用户断开连接时减少。这是一个例子。
library(shiny)
# put this line in global.R in case you want to launch the app
# with runApp (from a directory) rather than shinyApp
nvisitors = reactiveVal(0)
server = function(input, output, session){
nvisitors(isolate(nvisitors()) + 1)
onSessionEnded(function(x){
nvisitors(isolate(nvisitors()) - 1)
})
output$text = renderText({
nvisitors()
})
}
ui = shinyUI(
textOutput("text")
)
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
计算访问者总数更具挑战性,因为您需要实施持久数据存储才能正确执行此操作。