Rstudio 0.98.490 блоков приложений Ладья

Похоже, что панель просмотра RStudio 0.98 блокирует внутренний веб-сервер R для прослушивания запросов для приложений Rook. Я попробовал следующее:

# This my working setup

require(Rook)

myPort <- 80
myInterface <- "192.168.16.81"     # just change with yours
.Call(tools:::startHTTPD, myInterface, myPort)
unlockBinding("httpdPort", environment(tools:::startDynamicHelp))
assign("httpdPort", myPort, environment(tools:::startDynamicHelp))

s <- Rhttpd$new()
s$listenAddr <- myInterface
s$listenPort <- myPort

s$add(
  app=system.file('exampleApps/helloworld.R',package='Rook'),
  name='hello'
)

s$browse(1)

# Working Example from ?Rhttpd

#s$stop()       # stop the server
#rm(list=ls())  # clean the session and try again

s <- Rhttpd$new()
s$start(quiet=TRUE)
s$add(
  app=system.file('exampleApps/helloworld.R',package='Rook'),
  name='hello'
)

s$browse(1)

В первой попытке браузер зависает навсегда (буквально, как обычно, он может подключиться... время ожидания... и т. Д.). Поэтому я подумал, что это может быть связано с этим

Localhost URLs (e.g. for Shiny, Rook, or OpenCPU applications) are now automatically proxied back to remote clients on the main server port.

Нашел здесь. Но это относится к RStudio Server.. поэтому я не знаю. Должен ли я понизить до 0,97 или кто-нибудь из вас это исправил?

Информация о моей сессии:

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United Kingdom.1252 
[2] LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] tools     stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
[1] Rook_1.0-9 brew_1.0-6

РЕДАКТИРОВАТЬ

?Rhttp пример, кажется, на самом деле работает. (но не каждый раз) RStudio, кажется, заставляет приложение использовать порт, отличный от выбранного мной!

> s <- Rhttpd$new()

> s$add(
+   app=system.file('exampleApps/helloworld.R',package='Rook'),
+   name='hello'
+ )

> s$start(port=8080, quiet=TRUE)

> s$browse(1)
Warning message:
In s$start(port = 8080, quiet = TRUE) :
  RStudio has already started the web server on port 19905

0 ответов

Другие вопросы по тегам