2013-05-13 221 views
3

我似乎在与R中的websockets争斗。我想从比特币交换MtGox直接下载流数据到R,但R无法建立连接。websocket连接不起作用

WebSocket的规格被定义为:

  • 主机:websocket.mtgox.comsocketio.mtgox.com
  • 端口:或443(SSL)
  • 命名空间:/mtgox(包括开始斜杠)

网址了解详情:https://en.bitcoin.it/wiki/MtGox/API/Streaming

,我的代码是:

require(websockets) 
con = websocket("https://socketio.mtgox.com/mtgox",port=443) 

,我总是用一个错误结束:

> con = websocket("https://socketio.mtgox.com/mtgox",port=443) 
Error in websocket("https://socketio.mtgox.com/mtgox", port = 443) : 
Connection error 

有没有人有一个想法,什么是错的?

非常感谢。

回答

2

我看了看源代码和手工这里 - https://github.com/rstudio/R-Websockets

将R的WebSocket库已过期,并因为它代表不与WebSocket协议兼容。

因此,您需要修复库或找到替代库。根据你的能力来修复图书馆并不困难。我设法在这里做到这一点 -

https://github.com/zeenogee/R-Websockets

我的一个(懒洋洋)硬编码到MtGox - 使用风险自担!你需要删除当前的WebSocket库并安装这个库。不要忘记你的代码只是做基本的连接。还有几个步骤来查看实际数据 -

set_callback("receive", function(DATA,WS,HEADER) cat(rawToChar(DATA)), con) 
service (con) 
+0

Wooow!大!我会通过你的代码!然而,这个软件包似乎有问题:命令'install_github(“R-Websockets”,username =“zeenogee”)最终在libs文件夹中出现编译错误:'** libs错误:编译包失败'websockets'*删除'C:/Users/Steef/Documents/R/win-library/2.15/websockets'错误:命令失败(1)' – 2013-05-21 21:25:08

+0

我应用它的方式是 - 1)移除现有的Websocket 2)下载我的。 3)在本地安装我的。我在Mac上,因此本地安装的过程会有所不同。详情[here](http://cran.r-project.org/doc/manuals/R-admin.html#Windows-packages)。我使用的是R 3.0.0版,因此可能需要注意。即使只看我在github上的提交可能会有所帮助。它会突出显示我所做的更改。 – abazlinton 2013-05-21 21:47:40

+0

我下载了RTools,并且您的软件包已成功安装。 – 2013-05-22 21:02:06