public void Subscribe_And_Listen() { socket = new Websocket(new ApiCredentials { ApiKey = TestBase.ApiKey, ApiSecret = TestBase.ApiSecret }); socket.OnClientReady += Socket_OnClientReady; socket.OnClosed += Socket_OnClosed; socket.OnError += Socket_OnError; socket.OnFatality += Socket_OnFatality; socket.OnOrderMessage += Socket_OnOrderMessage; socket.OnSendFailed += Socket_OnSendFailed; socket.OnStateChanged += Socket_OnStateChanged; socket.OnTradeMessage += Socket_OnTradeMessage; //socket.OnBlockMessage += Socket_OnBlockMessage; //socket.OnChannelsResponse += Socket_OnChannelsResponse; //socket.OnExchangesResponse += Socket_OnExchangesResponse; //socket.OnFavoriteMessage += Socket_OnFavoriteMessage; //socket.OnMessage += Socket_OnMessage; //socket.OnNewMarketMessage += Socket_OnNewMarketMessage; //socket.OnNewsMessage += Socket_OnNewsMessage; //socket.OnNotificationMessage += Socket_OnNotificationMessage; socket.Connect(); resetEvent.WaitOne(); }
/// <summary> /// Start a websocket for observing order events /// </summary> public void OrderEventStart(object sender, EventArgs e) { /* a hack to just reuse the REST API client to sign out websocket headers */ var re = new Requests(); string url = "wss://api.gemini.com/v1/order/events"; try { GeminiClient.Wallet.Authenticate(re, new Gemini.Contracts.PrivateRequest() { Request = "/v1/order/events" }); if (GeminiClient.Wallet.Url().Contains("sandbox")) { url = "wss://api.sandbox.gemini.com/v1/order/events"; } Gemini.Websocket ws = new Websocket(url, OrderEventCallback, null); ws.AddHeader("X-GEMINI-APIKEY", re.Headers["X-GEMINI-APIKEY"]); ws.AddHeader("X-GEMINI-PAYLOAD", re.Headers["X-GEMINI-PAYLOAD"]); ws.AddHeader("X-GEMINI-SIGNATURE", re.Headers["X-GEMINI-SIGNATURE"]); ws.Connect(); sockets.Add(ws); } catch (Exception ex) { Logger.WriteException(Logger.Level.Error, ex); System.Windows.Forms.MessageBox.Show(ex.Message, "Error opening websocket"); } }
public MarketHub() { socket = new Websocket(new API.Models.ApiCredentials { ApiKey = "[YOUR-API-KEY]", ApiSecret = "[YOUR-API-SECRET]" }); socket.OnClientReady += Socket_OnClientReady; socket.OnTradeMessage += Socket_OnTradeMessage; socket.OnError += Socket_OnError; socket.Connect(); }