2013-05-13 134 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