【问题标题】:Connecting to Rserve with WebSockets using javascript使用 javascript 使用 WebSockets 连接到 Rserve
【发布时间】:2016-04-29 11:50:09
【问题描述】:

我在我的 Ubuntu 服务器上安装了 Rserve。我想使用javascript与之交互。我知道rserve npm“提供了 websocket Rserve 协议的 javascript 实现”,但它似乎不再需要维护,我希望能够使用原生 javascript(或 jQuery 等 JS 库)来实现。 我正在尝试连接并拥有一个可用作控制台的专用 R 会话。

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

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 以便获取响应内容?

【问题讨论】:

    标签: javascript r websocket rserve


    【解决方案1】:

    看看rserve-js - 它是一个完整的JavaScript Rserve 客户端,它支持OCAP 和普通QAP 模式(包括OOB 回调)。我们在RCloud 中非常广泛地使用它,这也可能是寻找它使用的一个很好的来源(在 OCAP 模式下,它更安全,更适合 Web 应用程序) - 特别是因为它实际上做了你想做的事情(等等)。

    【讨论】:

      猜你喜欢
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      相关资源
      最近更新 更多