Python 在R应用程序中接收推送数据

Python 在R应用程序中接收推送数据,python,r,get,shiny,shiny-server,Python,R,Get,Shiny,Shiny Server,我有一个简单的python程序,它应该将其数据推送到R应用程序中。“获取”输入中的以下行: 是否有人知道如何使其工作,或者有更好的解决方案将数据从外部推送到R应用程序中 谢谢你的帮助 我使用WebSocket和httpuv的完整解决方案: library(httpuv) startWSServer <- function(){ if(exists('server')){ stopDaemonizedServer(server) } app <- list

我有一个简单的python程序,它应该将其数据推送到R应用程序中。“获取”输入中的以下行:

是否有人知道如何使其工作,或者有更好的解决方案将数据从外部推送到R应用程序中


谢谢你的帮助

我使用WebSocket和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
}
库(httpuv)

startWSServer与您的闪亮应用程序交互的客户端需要处理javascript/WebSocket,据我所知,
urllib2
库不需要这些。闪亮应用程序是客户端-服务器应用程序,因此您需要运行javascript的东西。一个潜在的候选人是另一个潜在的解决方案,谢谢你的评论。我通过使用httpuv和创建websocket服务器解决了我的问题。这里有一个例子:@tanktoo这是一个非常有趣的方法。如果你能把你的解决方案写成答案,它将在将来帮助其他人。@warmoverflow done
request = urllib2.Request("http://127.0.0.1:5923/?eventid=1223&event=somestring")
test = urllib2.urlopen(request)
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
}