我正在设法使用Bittrex的WebSocket订阅和接收来自我的PHP项目的实时数据。在他们的文档中,他们只谈论可用的方法,而不是关于如何建立连接的。
我在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,但都失败了,原因是无效的url导致我认为它们以完全不同的方式工作。
我觉得我错过了什么,我甚至不知道我在寻找什么,任何帮助我找到正确方向的研究都是值得赞赏的。
谢谢大家!
发布于 2020-06-17 13:26:32
这只是因为Bittrex根本不提供WebSockets API。他们给的都是所谓的SignalR.
您可以尝试搜索一个SignalR PHP库,例如:https://packagist.org/packages/alexwight/php-signalr-client
https://stackoverflow.com/questions/58432074
复制相似问题