我有一个简单的python程序,该程序应将其数据推送到R Shiny应用程序中。这些行在Shiny中解析“ GET”输入:
# Parse the GET query string
output$queryText <- renderText({
query <- parseQueryString(session$clientData$url_search)
eventList[query$eventid] <<- query$event
})
这在浏览器中调用“ http://127.0.0.1:5923/?eventid=1223&event=somestring ”时效果很好。如果我尝试在python中调用URL,则会在R中得到“对等连接重置”,并且没有任何内容添加到列表中。到目前为止,我的Python代码:
request = urllib2.Request("http://127.0.0.1:5923/?eventid=1223&event=somestring")
test = urllib2.urlopen(request)
有谁知道如何使它正常工作,或者有更好的解决方案将数据从外部推送到R Shiny应用程序中?
感谢帮助!
我将websockets与httpuv结合使用的完整解决方案:
library(httpuv)
startWSServer <- function(){
if(exists('server')){
stopDaemonizedServer(server)
}
app <- list(
onWSOpen = function(ws) {
ws$onMessage(function(binary, message) {
#handle your message, for example save it somewhere
#accessible by Shiny application, here it is just printed
print(message)
ws$send("message received")
})
}
)
server <<- startDaemonizedServer("0.0.0.0", 9454, app)
}
stopWSServer <- function(){
stopDaemonizedServer(server)
server <<- NULL
}
希望这可以帮助 ;)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句