Beispiel #1
0
        public async Task Connect()
        {
            //Console.Write("Connecting Websocket...");
            const string userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 OPR/48.0.2685.52";

            var bittrexUri     = new Uri("https://bittrex.com");
            var bittrexFeedUri = new Uri("https://socket.bittrex.com");

            //

            var feedHeaders       = new Dictionary <string, string>();
            var cookieContainer   = new CookieContainer();
            var httpClientHandler = new HttpClientHandler()
            {
                UseCookies      = true,
                CookieContainer = cookieContainer
            };

            var clearanceHandler = new ClearanceHandler(httpClientHandler);
            var httpClient       = new HttpClient(clearanceHandler);

            httpClient.DefaultRequestHeaders.UserAgent.ParseAdd(userAgent);

            //

            var connConfig = new ConnectionConfiguration()
            {
                CookieContainer = cookieContainer,
                Headers         = feedHeaders
            };

            feedHeaders.Add("User-Agent", userAgent);

            var config = new BittrexFeedConnectionConfiguration()
            {
                // NOTE: Not applicable: AccessToken = "",
                Connection = connConfig
            };

            WSSharpTransport = new BtrexWSwithCFUtil(bittrexFeedUri);

            //

            var request = new HttpRequestMessage(HttpMethod.Get, bittrexUri);
            var content = httpClient.SendAsync(request, CancellationToken.None).Result;

            //

            WSSharpTransport.Connection.CookieContainer = cookieContainer;

            await WSSharpTransport.Connect(config);

            //Console.WriteLine("\rWebsocket Connected.      ");
        }
        public static async Task Connect()
        {
            Console.Write("Connecting Websocket...");
            const string userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 OPR/48.0.2685.52";

            var bittrexUri     = new Uri("https://bittrex.com");
            var bittrexFeedUri = new Uri("https://socket.bittrex.com");

            //

            var feedHeaders       = new Dictionary <string, string>();
            var cookieContainer   = new CookieContainer();
            var httpClientHandler = new HttpClientHandler()
            {
                UseCookies      = true,
                CookieContainer = cookieContainer
            };

            var clearanceHandler = new ClearanceHandler(httpClientHandler);
            var httpClient       = new HttpClient(clearanceHandler);

            httpClient.DefaultRequestHeaders.UserAgent.ParseAdd(userAgent);

            //

            var connConfig = new ConnectionConfiguration()
            {
                CookieContainer = cookieContainer,
                Headers         = feedHeaders
            };

            feedHeaders.Add("User-Agent", userAgent);

            var config = new BittrexFeedConnectionConfiguration()
            {
                // NOTE: Not applicable: AccessToken = "",
                Connection = connConfig
            };

            WSSharpTransport = new BtrexWSwithCFUtil(bittrexFeedUri);

            //

            var request = new HttpRequestMessage(HttpMethod.Get, bittrexUri);
            var content = httpClient.SendAsync(request, CancellationToken.None).Result;

            //

            WSSharpTransport.Connection.CookieContainer = cookieContainer;

            await WSSharpTransport.Connect(config);

            Console.WriteLine("\rWebsocket Connected.      ");



            //!!!***OLD CODE (PRE-CLOUDFLARE:)
            ////hubConnection.TraceLevel = TraceLevels.All;
            ////hubConnection.TraceWriter = Console.Out;

            ////CREATE PROXY, REGISTER CALLBACKS, CONNECT TO HUB:
            //btrexHubProxy = BtrexWS.hubConnection.CreateHubProxy("coreHub");
            //btrexHubProxy.On<MarketDataUpdate>("updateExchangeState", update => BtrexData.UpdateQueue.Enqueue(update));
            ////btrexHubProxy.On<SummariesUpdate>("updateSummaryState", update => Trace.WriteLine("FULL SUMMARY: "));
            //Trace.Write("Connecting Websocket...");
            //await hubConnection.Start();
            //Trace.WriteLine("\rWebsocket Connected.      ");
        }