R httpd问题 - 无法使用本地IP加载帮助页面

时间:2012-04-05 03:29:19

标签: r apache

这可能是一般性主题,但我在使用Rook软件包处理一些代码时遇到了这个问题。

最近的R版本包括一个http服务器。您可能在使用RGui检查帮助主题时看到了这一点。它打开一个带有IP /端口等的新浏览器

例如,如果我输入?粘贴,则会显示,

http://127.0.0.1:31234/library/.../paste.html

但是如果我使用我的IP,比如192.168.1.2代替127.0.0.1,页面无法加载,我收到错误

    While trying to retrieve the URL:http://192....
    The following error was encountered:
    We can not connect to the server you have requested

我有其他具有httpd接口的应用程序,我可以使用127.0.0.1和192.168.1.2等来访问这些应用程序的http接口。所以,就系统/网络权限而言 - 我不知道认为这是问题所在。

相反,R httpd进程有一些特定的东西不允许使用域名等来访问它?

以上是在公司网络中测试的。当我从家庭网络尝试相同的过程时,它工作正常。但是,由于我已经从公司PC访问许多其他本地安装的应用程序的http接口,我认为可能有某些特定于R的http进程需要检查?

Workstation正在运行 - Windows XP

如果您对上述内容有任何疑问,请与我们联系,

此致

  • 拉吉。

5 个答案:

答案 0 :(得分:1)

修正了它。诀窍是指定,

s <- Rhttpd$new()
s$start(listen="0.0.0.0",port="20000")

启动Rook过程时。指定0.0.0.0会使其监听所有接口,现在我可以使用外部IP访问它。非常感谢你的帮助!

答案 1 :(得分:0)

打开TCP端口时,可以选择本地IP地址。对于传入连接,通常将INADDR_ANY(-1)提供给bind(),这意味着在每个可用接口上打开端口。

但是,只需提供接口的IP地址,就可以在机器上的一个接口上打开一个端口(在本例中为127.0.0.1)。似乎R就是这样做的。

答案 2 :(得分:0)

我的猜测是,您的公司网络上可能有代理。您的浏览器可能已配置为使用该代理访问Internet。大多数浏览器会使用代理排除他们知道的本地地址(127.0.0.1localhost),但可能不排除任何其他IP。

尝试在浏览器中停用代理(即使&#34;自动检测&#34;,完全关闭代理),看看您是否能够连接。

答案 3 :(得分:0)

请查看此帖:Deploy Rook Apps Using R

答案 4 :(得分:0)

我遇到了同样的问题。

如果您使用的是RStudio,这可能是RStudio中的一个错误。看看这个链接: https://support.rstudio.com/hc/communities/public/questions/202656007-Cryptic-error-on-starting-RStudio-daily-with-R-devel

使用最新版本的R更新到最新版本的RStudio可以解决问题。