Javascript 如何通过WebSocket从MtGox获取数据? 我试图在我的C++应用程序中连接它。

Javascript 如何通过WebSocket从MtGox获取数据? 我试图在我的C++应用程序中连接它。,javascript,c++,sockets,mtgox,Javascript,C++,Sockets,Mtgox,如果我和你握手 socketio.mtgox.com:80/mtgox,它不回答 websocket.mtgox.com:80/mtgox,它发送400个错误请求 我在谷歌上搜索了这个: socketio.mtgox.com:80/socket.io/1/websocket,这个连接,切换到websocket协议,然后给我发送两条消息说“1::”和“2::” 在Wireshark,一切看起来都很好 我该怎么做 我试图发送{“频道”:“24e67e0d-1cad-4cc0-9e7a-f8523ef

如果我和你握手

socketio.mtgox.com:80/mtgox,它不回答

websocket.mtgox.com:80/mtgox,它发送400个错误请求

我在谷歌上搜索了这个:

socketio.mtgox.com:80/socket.io/1/websocket,这个连接,切换到websocket协议,然后给我发送两条消息说“1::”和“2::”

在Wireshark,一切看起来都很好

我该怎么做

我试图发送{“频道”:“24e67e0d-1cad-4cc0-9e7a-f8523ef460fe”,“op”:“订阅”}-什么都没有发生

连接的正确URL是什么?订阅频道需要发送什么

或者,任何人都可以发布一个简单的.js代码,从HTML页面成功连接到MtGox吗

没有node.js或socket.io,只是一个内置的HTML5 Websocket类,所以我可以让一个测试工作连接从我的计算机发送请求,以确保它不是网络问题或任何与我的程序无关的东西

我有这个剧本:

<script language="javascript" type="text/javascript">

  var output;

  function init()
  {
    output = document.getElementById("output");
    testWebSocket();
  }

  function testWebSocket()
  {
    var websocket = new WebSocket('wss://socketio.mtgox.com:443/mtgox');
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };
  }

  function onOpen(evt)
  {
    writeToScreen("CONNECTED");
    //doSend("WebSocket rocks");
  }

  function onClose(evt)
  {
    writeToScreen("DISCONNECTED");
  }

  function onMessage(evt)
  {
    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
  }

  function onError(evt)
  {
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
  }

  function doSend(message)
  {
    writeToScreen("SENT: " + message); 
    websocket.send(message);
  }

  function writeToScreen(message)
  {
    var pre = document.createElement("p");
    pre.style.wordWrap = "break-word";
    pre.innerHTML = message;
    output.appendChild(pre);
  }

  window.addEventListener("load", init, false);

</script>

var输出;
函数init()
{
输出=document.getElementById(“输出”);
testWebSocket();
}
函数testWebSocket()
{
var websocket=新的websocket('wss://socketio.mtgox.com:443/mtgox');
websocket.onopen=函数(evt){onopen(evt)};
websocket.onclose=函数(evt){onclose(evt)};
websocket.onmessage=函数(evt){onmessage(evt)};
websocket.onerror=函数(evt){onerror(evt)};
}
功能开启(evt)
{
写屏(“连接”);
//doSend(“网岩”);
}
函数onClose(evt)
{
写屏(“断开”);
}
消息函数(evt)
{
writeToScreen('响应:'+evt.data+'');
}
函数onError(evt)
{
writeToScreen('错误:'+evt.data);
}
函数doSend(消息)
{
writeToScreen(“已发送:+消息”);
发送(消息);
}
功能写入屏幕(消息)
{
var pre=document.createElement(“p”);
pre.style.wordWrap=“断开单词”;
pre.innerHTML=消息;
输出.appendChild(pre);
}
addEventListener(“加载”,init,false);
但它打印错误:未定义和断开连接

谢谢大家!

这个url适合我:

'wss://websocket.mtgox.com:443/mtgox?Currency=GBP'
您可以将货币更改为所需的货币,我认为您还可以使用逗号分隔的列表作为值