0

これは一般的なトピックかもしれませんが、Rook パッケージを使用していくつかのコードに取り組んでいるときに、この問題に遭遇しました。

最近の R バージョンには、http サーバーが含まれています。RGui を使用してヘルプ トピックをチェックしているときに、これを見たことがあるかもしれません。IP/ポートなどで新しいブラウザが開きます。

たとえば、?paste と入力すると、次のように表示されます。

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

しかし、127.0.0.1 の代わりに 192.168.1.2 などの IP を使用すると、ページの読み込みに失敗し、エラーが発生します。

    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 プロセスに固有のものを確認する必要があるのではないかと思います。

ワークステーションが実行中 - Windows XP

上記について、何かお気づきの点がございましたら、お知らせください。

よろしく、

  • ラージ。
4

4 に答える 4

1

修正しました。コツは、指定することです。

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

Rookプロセスを開始するとき。0.0.0.0 を指定すると、すべてのインターフェイスをリッスンし、外部 IP を使用してアクセスできるようになります。それにもかかわらず、あなたの助けに感謝します!

于 2012-04-05T14:54:10.940 に答える
0

TCP ポートを開くときに、ローカル IP アドレスを選択できます。着信接続の場合、通常は INADDR_ANY (-1) が bind() に提供されます。これは、使用可能なすべてのインターフェイスでポートを開くことを意味します。

ただし、インターフェイスの IP アドレスを指定するだけで、マシン上の 1 つのインターフェイス (この場合は 127.0.0.1) だけでポートを開くことができます。Rはまさにこれを行うようです。

于 2012-04-05T03:35:34.183 に答える
0

私の推測では、企業ネットワークにプロキシが配置されている可能性があります。お使いのブラウザは、そのプロキシを使用してインターネットにアクセスするように設定されている可能性があります。ほとんどのブラウザーは、ローカル (127.0.0.1またはlocalhost) であることがわかっているアドレスをプロキシの使用から除外しますが、他の IP を除外しない場合があります。

ブラウザでプロキシを無効にしてみて(「自動検出」でもプロキシを完全にオフにして)、接続できるかどうかを確認してください。

于 2012-04-05T14:24:30.913 に答える
0

私も同じ問題を抱えていました。

RStudio を使用している場合、これは RStudio のバグである可能性があります。このリンクをチェックしてください: https://support.rstudio.com/hc/communities/public/questions/202656007-Cryptic-error-on-starting-RStudio-daily-with-R-devel

R の最新バージョンを使用して RStudio の最新バージョンに更新すると、問題が修正されます。

于 2015-04-30T18:37:27.063 に答える