r语言 - 使用 javascript 使用 WebSockets 连接到 Rserve



我的 Ubuntu 服务器上安装了 Rserve。我想使用javascript与它进行交互。我知道 rserve npm "提供了 websocket Rserve 协议的 javascript 实现",但它似乎不再被维护了,我希望能够使用本机 JavaScript(或像 jQuery 这样的 JS 库)来做到这一点。我正在尝试连接并有一个可用作控制台的专用 R 会话。

这是我的 Rserv.conf(来自本文档)

remote enable
websockets.qap enable
websockets.port 8080

这是我的 JS

var ws = new WebSocket("ws://my.app:8080");
ws.onopen = function()
{
    ws.binaryType = 'arraybuffer'
    ws.send("Hello world");
    console.log("Message is sent...");
 };
 ws.onmessage = function (evt) 
 { 
      console.log("Message received:"); 
      var received_msg = evt.data;
      console.log(received_msg);
  };
 ws.onclose = function()
 { 
      console.log("Connection is closed..."); 
 };

我收到两条消息:

Message is received:
Rsrv0103QAP1
--------------
Message is received:
ArrayBuffer {}

之后,连接关闭。如何保持连接打开?如何转换ArrayBuffer以便获取响应的内容?

看看 rserve-js - 它是一个完整的 JavaScript Rserve 客户端,它支持 OCAP 和纯 QAP 模式(包括 OOB 回调)。我们在 RCloud 中非常广泛地使用它,这也可能是寻找其使用的良好来源(在更安全且适合 Web 应用程序的 OCAP 模式下) - 它特别,因为它实际上可以执行您正在尝试做的事情(以及更多)。

相关内容

  • 没有找到相关文章

最新更新