WebSocketSharp with BinanceAPI

575 Views Asked by At

I have a connection with binanceApi and I have a disconnect problem, the API disconnects and I don't know the reason, I wanna keep the connection alive until I have the orders in position. I will post my code, maybe someone can help me.

I already have created another two projects with websocketsharp on localhost to test and all disconnects fire normally.

https://pastebin.com/edit/2Mbh1X4p

 public class WSMonitorada
{      
    public WebSocket ws;
    public Usuario User;
    public Timer timerKeepAlive = new Timer();

    public WSMonitorada(Usuario user, string key)
    {        
         timerKeepAlive.Interval = TimeSpan.FromMinutes(15).TotalMilliseconds;
         timerKeepAlive.Elapsed += (object source, ElapsedEventArgs e) =>
          {
             BinanceUserDataStream.KeepAlive(User.BinanceAPIKey, user.BinanceAPISecret);
          };
          timerKeepAlive.Start();

                ws = new WebSocket("wss://stream.binance.com:9443/ws/" + key);
                ws.WaitTime = TimeSpan.FromSeconds(5);  
                ws.Log.Level = LogLevel.Trace;
                ws.Log.File = "C:\\LogConexao\\" + user.nome + ".txt";    
                //log file never show close event        
                ws.OnOpen += (sender, e) =>
                {
                //logic here wors perfect
                };                    
                ws.EmitOnPing = true;
                ws.OnMessage += (sender, e) =>
                {
                    if (e.IsPing)
                    {
                        ws.Ping();
                        return;
                    }
                    //logic here wors perfect
                }
                ws.OnClose += (sender, e) =>
                {                  

                // i have a logic here to analyse if i have a opened order and reconnect again but event never fire
                 ws.Connect();      
                };
                ws.Connect();    
    }
}
1

There are 1 best solutions below

1
On

I think your Ping is not correct. The server waits for 'pong' message

UPD According to binance docs =)