gpt4 book ai didi

c# - 在 poloniex 上使用 wamp 的 HTTP 502 错误网关 c#

转载 作者:行者123 更新时间:2023-11-30 16:42:45 25 4
gpt4 key购买 nike

我想从 Poloniex 实时检索报价。他们为此使用 wamp。我通过 nugget WampSharp 安装并找到了这段代码:

  static async void MainAsync(string[] args)
{

var channelFactory = new DefaultWampChannelFactory();
var channel = channelFactory.CreateMsgpackChannel("wss://api.poloniex.com", "realm1");
await channel.Open();

var realmProxy = channel.RealmProxy;

Console.WriteLine("Connection established");

int received = 0;
IDisposable subscription = null;

subscription =
realmProxy.Services.GetSubject("ticker")
.Subscribe(x =>
{
Console.WriteLine("Got Event: " + x);

received++;

if (received > 5)
{
Console.WriteLine("Closing ..");
subscription.Dispose();
}
});

Console.ReadLine();
}

但无论在 await channel.open() 我有以下错误:HHTP 502 bad gateway

你知道问题出在哪里吗

提前谢谢你

最佳答案

Poloniex 服务似乎无法处理这么多连接。这就是您收到 HTTP 502 错误网关错误的原因。您可以尝试使用重新连接器机制,以便定期尝试连接。

static void Main(string[] args)
{
var channelFactory = new DefaultWampChannelFactory();
var channel = channelFactory.CreateJsonChannel("wss://api.poloniex.com", "realm1");

Func<Task> connect = async () =>
{
await Task.Delay(30000);

await channel.Open();

var tickerSubject = channel.RealmProxy.Services.GetSubject("ticker");

var subscription = tickerSubject.Subscribe(evt =>
{
var currencyPair = evt.Arguments[0].Deserialize<string>();
var last = evt.Arguments[1].Deserialize<decimal>();
Console.WriteLine($"Currencypair: {currencyPair}, Last: {last}");
},
ex => {
Console.WriteLine($"Oh no! {ex}");
});
};

WampChannelReconnector reconnector =
new WampChannelReconnector(channel, connect);

reconnector.Start();

Console.WriteLine("Press a key to exit");
Console.ReadKey();
}

这是基于this代码示例。

关于c# - 在 poloniex 上使用 wamp 的 HTTP 502 错误网关 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46131133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com