我正在尝试找到一种使用Bittrex的WebSocket来从我的PHP Laravel项目中订阅和接收实时数据的方法。 关于文档,他们只谈论可用的方法,没有谈论如何建立连接。
我对WebSockets的了解非常有限,但是,我设法像以前那样连接到Kraken的WebSockets:
const socket = new WebSocket('wss://ws.kraken.com');
const pairs = [
//a list of asset pairs available on Kraken
];
const subscription = {
"event": "subscribe",
"pair": pairs,
"subscription": {
"name": "ticker"
}
}
// Connection opened
socket.addEventListener('open', function (event) {
socket.send(JSON.stringify(subscription));
});
//Somewhere else in the code
socket.addEventListener('message', (event) => {
const data = JSON.parse(event.data);
});
让我感到困惑的是Bittrex上的Url,它是:https://socket.bittrex.com/signalr
(如您所见,它以https
开头)
而在Kraken上,它是:wss://ws.kraken.com
(wss
,据我所知,这是正确的格式)
我尝试以与Kraken相同的方式连接到Bittrex,并且还尝试使用此https://github.com/ratchetphp/Pawl与PHP进行连接,但是都失败,并显示有关无效网址的错误让我认为它们的工作方式完全不同。
我感觉自己正在丢失某些东西,甚至不知道我在寻找什么,任何帮助我向正确的研究方向指明方向的人,都是感激的。
谢谢!
答案 0 :(得分:0)
这是因为Bittrex根本不提供WebSockets API。他们提供的只是所谓的SignalR。
您可以尝试搜索SignalR PHP库,例如这样的库:https://packagist.org/packages/alexwight/php-signalr-client