-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathProgram.cs
More file actions
31 lines (24 loc) · 825 Bytes
/
Program.cs
File metadata and controls
31 lines (24 loc) · 825 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Live-Rates Streaming API — C# / .NET 8 example.
//
// dotnet run
//
// Docs: https://github.com/Live-Rates/live-rates.com#streaming-api
using SocketIOClient;
var key = Environment.GetEnvironmentVariable("LIVERATES_KEY") ?? "trial";
var pairs = new[] { "EURUSD", "GBPUSD", "BTCUSD" };
var client = new SocketIO("https://wss.live-rates.com", new SocketIOOptions
{
Transport = SocketIOClient.Transport.TransportProtocol.WebSocket,
});
client.OnConnected += async (_, _) =>
{
await client.EmitAsync("instruments", pairs);
await client.EmitAsync("key", key);
};
client.On("rates", response =>
{
Console.WriteLine(response.GetValue<string>());
});
client.OnDisconnected += (_, reason) => Console.WriteLine($"disconnected: {reason}");
await client.ConnectAsync();
await Task.Delay(Timeout.Infinite);