繁体   English   中英

使用javascript通过WebSockets连接到Rserve

[英]Connecting to Rserve with WebSockets using javascript

我在我的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中非常广泛地使用它,这也可能是寻找其使用的良好来源(在OCAP模式下更安全且适用于Web应用程序) - 特别是因为它实际上做了你想要做的事情(并且很多)更多)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM