Пример #1
0
        private bool canAddOrUpdate(WebSocketSharp.Net.Cookie cookie)
        {
            bool flag;

            if ((this._cookies == null ? false : this._cookies.Count != 0))
            {
                List <WebSocketSharp.Net.Cookie> list = this.findCookie(cookie).ToList <WebSocketSharp.Net.Cookie>();
                if (list.Count != 0)
                {
                    int version = cookie.Version;
                    foreach (WebSocketSharp.Net.Cookie cookie1 in list)
                    {
                        if (cookie1.Version != version)
                        {
                            continue;
                        }
                        flag = true;
                        return(flag);
                    }
                    flag = false;
                }
                else
                {
                    flag = true;
                }
            }
            else
            {
                flag = true;
            }
            return(flag);
        }
Пример #2
0
 public void SetCookie(WebSocketSharp.Net.Cookie cookie)
 {
     if (cookie == null)
     {
         throw new ArgumentNullException("cookie");
     }
     if (!this.canAddOrUpdate(cookie))
     {
         throw new ArgumentException("Cannot be replaced.", "cookie");
     }
     this.Cookies.Add(cookie);
 }
        private void CreateChatWebsocket()
        {
            Global.WTWebsocket = new WebSocket("wss://warframe.market/socket")
            {
                Origin           = "user://" + Global.Configuration.User.Id,
                SslConfiguration = { EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12 }
            };
            var authCookie = new WebSocketSharp.Net.Cookie("JWT", Global.Configuration.User.Account.Cookie)
            {
                Path   = "/",
                Domain = ".warframe.market"
            };

            Global.WTWebsocket.SetCookie(authCookie);
            Global.WTWebsocket.OnMessage += ReceiveWtMessage;
            Global.WTWebsocket.OnClose   += WsOnOnClose;
            Global.WTWebsocket.Connect();
        }
Пример #4
0
        private IEnumerable <WebSocketSharp.Net.Cookie> findCookie(WebSocketSharp.Net.Cookie cookie)
        {
            bool   flag;
            string str  = cookie.Name;
            string str1 = cookie.Domain;
            string str2 = cookie.Path;

            if (this._cookies != null)
            {
                foreach (WebSocketSharp.Net.Cookie _cooky in this._cookies)
                {
                    flag = (!_cooky.Name.Equals(str, StringComparison.OrdinalIgnoreCase) || !_cooky.Domain.Equals(str1, StringComparison.OrdinalIgnoreCase) ? false : _cooky.Path.Equals(str2, StringComparison.Ordinal));
                    if (flag)
                    {
                        yield return(_cooky);
                    }
                }
            }
        }
Пример #5
0
        public static WebSocketSharp.Net.Cookie ToWebSocketSharpCookie(this Cookie cookie)
        {
            var wssCookie = new WebSocketSharp.Net.Cookie(
                cookie.Name, cookie.Value, cookie.Path, cookie.Domain)
            {
                Comment    = cookie.Comment,
                CommentUri = cookie.CommentUri,
                Discard    = cookie.Discard,
                Domain     = cookie.Domain,
                Expired    = cookie.Expired,
                Expires    = cookie.Expires,
                HttpOnly   = cookie.HttpOnly,
                Name       = cookie.Name,
                Path       = cookie.Path,
                Port       = cookie.Port,
                Secure     = cookie.Secure,
                Value      = cookie.Value,
                Version    = cookie.Version
            };

            return(wssCookie);
        }
Пример #6
0
        void CreateSocketEvents()
        {
            // var cookiee = new WebSocketSharp.Net.Cookie("username", MeId.login); //[email protected] qwer1234
            var cookie1  = new WebSocketSharp.Net.Cookie("clientType", "socket"); //[email protected] qwer1234
            var cookiee2 = new WebSocketSharp.Net.Cookie("Bearer", MeId.API_TOKEN);

            ws.Log.Level = LogLevel.Trace;
            //  ws.SetCredentials("Bearer", "MeId.API_TOKEN", false);
            // ws.SetCookie(cookiee);
            ws.SetCookie(cookiee2);
            ws.SetCookie(cookie1);
            //  ws.WaitTime = TimeSpan.FromSeconds(5);
            ws.OnMessage -= ws_OnMessage;
            ws.OnClose   -= ws_OnClose;
            ws.OnOpen    -= ws_OnOpen;
            ws.OnError   -= ws_OnError;
            //ws.EmitOnPing = true;
            ws.OnMessage += ws_OnMessage;
            ws.OnClose   += ws_OnClose;
            ws.OnOpen    += ws_OnOpen;
            ws.OnError   += ws_OnError;
            ws.Connect();
        }
Пример #7
0
 public Cookie(string key, string value)
 {
     this.cookie = new WebSocketSharp.Net.Cookie(key, value);
 }
Пример #8
0
        /// <summary>
        /// Sets a <see cref="Cookie"/> used in the WebSocket opening handshake.
        /// </summary>
        /// <param name="cookie">
        /// A <see cref="Cookie"/> that contains an HTTP Cookie to set.
        /// </param>
        public void SetCookie(Cookie cookie)
        {
            if (isOpened(true))
                return;

            if (cookie.IsNull()) {
                onError("'cookie' must not be null.");
                return;
            }

            lock (_cookies.SyncRoot) {
                _cookies.SetOrRemove(cookie);
            }
        }
Пример #9
0
        public void connectWSTX()
        {
            var res = request.Get("https://huno.club/w-taixiu/signalr/negotiate");
            jsonConnectTXNohu rep   = JsonConvert.DeserializeObject <jsonConnectTXNohu>(res.ToString());
            string            token = rep.ConnectionToken;

            ws = new WebSocket("wss://huno.club/w-taixiu/signalr/connect?transport=webSockets&connectionToken=" + WebUtility.UrlEncode(token) + "&connectionData=%5B%7B%22name%22%3A%22minigamehub%22%7D%5D&tid=2");
            var cookies = res.Cookies;

            foreach (var item in cookies)
            {
                WebSocketSharp.Net.Cookie cks = new WebSocketSharp.Net.Cookie();
                cks.Name  = item.Key.Trim();
                cks.Value = item.Value;
                ws.SetCookie(cks);
            }
            ws.OnMessage += (sender1, e1) =>
            {
                Console.WriteLine(e1.Data);
                if (e1.Data.Contains("currentResult") && !e1.Data.Contains("\"Dice1\":0"))
                {
                    setCommonCircles.hictoryCircle10Before = funchandlingResHelper.getResultPushhictory10Before(e1.Data, setCommonCircles.hictoryCircle10Before);
                    mygetHictoryTX(setCommonCircles.hictoryCircle10Before);

                    //cap nhat data khi win orr lose cho cau cu
                    if (indexcirclebet != -1)
                    {
                        defaultPauseWhenLose = 10;
                        myRessultOf1Circle(indexcirclebet);
                        bool checkWinLoseASession = funchandlingResHelper.checkLoseWinASession(setCommonCircles.listAllCircleSetBet, indexcirclebet, e1.Data);

                        if (setCommonCircles.betFollowRowsMoney)
                        {
                            if (!checkWinLoseASession)
                            {
                                _2circleRowsWait circlewait = new _2circleRowsWait();
                                circlewait.idcircleWait   = ++indexFollowRows;
                                circlewait.moneyStartWait = setCommonCircles.moneyToBet;
                                circlewait.countLoses     = 1;
                                circlewait.Session        = funchandlingResHelper.momentSession;
                                circlewait.iswaitStatus   = false;
                                circlewait.isBetorPause   = true;
                                for (int i = 0; i < setCommonCircles.listNumbersWaitting.Count; i++)
                                {
                                    circlewait.listwaitNumberWhenLoses.Add(setCommonCircles.listNumbersWaitting[i]);
                                }
                                setCommonCircles.listCirecleRowWait.Add(circlewait);
                            }
                        }
                        if (!checkWinLoseASession)
                        {
                            setCommonCircles.listAllCircleSetBet[indexcirclebet].amountLose++;
                            setCommonCircles.allC_amountLose++;
                            if (setCommonCircles.betFollowTXNotChange)
                            {
                                setCommonCircles.allTXDefaultNotCh_amountLose++;
                                setCommonCircles.totalLose++;
                                if (setCommonCircles.betFollowTXNotChange_UD)
                                {
                                    setCommonCircles.UDmoneyWillBetNextSession = setCommonCircles.UDmoneyBetBeforeSession + setCommonCircles.UDmoney;
                                    setCommonCircles.UDmoneyBetBeforeSession   = setCommonCircles.UDmoneyWillBetNextSession;
                                }
                                if (setCommonCircles.allTXDefaultNotCh_amountLose % countsForTXnotChange == 0 && setCommonCircles.allTXDefaultNotCh_amountLose != 0)
                                {
                                    setCommonCircles.allTXDefaultNotCh_isChangeContinute = false;
                                }
                            }
                            Console.WriteLine("so lose: " + setCommonCircles.allC_amountLose);
                        }
                        else
                        {
                            setCommonCircles.listAllCircleSetBet[indexcirclebet].amountLose = 0;
                            setCommonCircles.allC_amountLose = 0;
                            if (setCommonCircles.betFollowTXNotChange_UD)
                            {
                                setCommonCircles.UDmoneyWillBetNextSession = setCommonCircles.UDmoneyBetBeforeSession - setCommonCircles.UDmoney;
                                setCommonCircles.UDmoneyBetBeforeSession   = setCommonCircles.UDmoneyWillBetNextSession;
                                if (setCommonCircles.UDmoneyWillBetNextSession < setCommonCircles.UDmoneyMin)
                                {
                                    setCommonCircles.UDmoneyWillBetNextSession = setCommonCircles.UDmoneyMin;
                                    setCommonCircles.UDmoneyBetBeforeSession   = setCommonCircles.UDmoneyWillBetNextSession;
                                }
                            }
                            if (setCommonCircles.betFollowTXNotChange)
                            {
                                setCommonCircles.totalWin++;
                                setCommonCircles.allTXDefaultNotCh_amountLose        = 0;
                                setCommonCircles.allTXDefaultNotCh_isChangeContinute = true;
                            }
                        }
                        Console.WriteLine("amountLose: " + indexcirclebet + ": " + setCommonCircles.listAllCircleSetBet[indexcirclebet].amountLose);
                        indexcirclebet = -1;
                    }
                    //reset
                    TorXWhenCompareDone = "";
                    //sosanh
                    rescompare = funchandlingResHelper.compareCircle(setCommonCircles.listAllCircleSetBet, setCommonCircles.hictoryCircle10Before);
                    Console.WriteLine(rescompare);

                    //dung khi ma cho dung cau
                    if (rescompare != null)
                    {
                        Console.WriteLine("tra ve: " + rescompare);
                        var rescomparetobet = rescompare.Split('-');
                        if (rescomparetobet.Length == 3)
                        {
                            TorXWhenCompareDone = rescomparetobet[2];
                            indexcirclebet      = int.Parse(rescomparetobet[1]) * (-1);
                        }
                        else
                        {
                            TorXWhenCompareDone = rescomparetobet[1];
                            indexcirclebet      = int.Parse(rescomparetobet[0]);
                        }

                        myRessultOf1Circle(indexcirclebet);

                        //kethop follow rows
                        if (setCommonCircles.listCirecleRowWait.Count > 0)
                        {
                            if (setCommonCircles.listCirecleRowWait[0].isBetorPause)
                            {
                                moneyTobetFollowros = setCommonCircles.listCirecleRowWait[0].moneyWillWaitNextSession = Convert.ToInt32(setCommonCircles.listCirecleRowWait[0].moneyStartWait * Math.Pow(setCommonCircles.XNumber, setCommonCircles.listCirecleRowWait[0].countLoses));
                            }
                        }
                    }
                }
                if (e1.Data.Contains("\"RemainWaiting\":0"))
                {
                    // Console.WriteLine("bet");
                    if (TorXWhenCompareDone == "X")
                    {
                        Console.WriteLine("Danhxiu");
                        SendTX(1, setCommonCircles.moneyToBet, setCommonCircles.listAllCircleSetBet[indexcirclebet].amountLose);
                        mygetSesionID(funchandlingResHelper.getSessionNewTX(e1.Data) + "-" + 1, true);
                    }
                    else if (TorXWhenCompareDone == "T")
                    {
                        Console.WriteLine("Danhtai");
                        SendTX(2, setCommonCircles.moneyToBet, setCommonCircles.listAllCircleSetBet[indexcirclebet].amountLose);
                        mygetSesionID(funchandlingResHelper.getSessionNewTX(e1.Data) + "-" + 2, true);
                    }
                    else
                    {
                        Console.WriteLine("Pause");
                        mygetSesionID(funchandlingResHelper.getSessionNewTX(e1.Data) + "-" + 3, true);
                    }
                    mygetSesionID(funchandlingResHelper.getSessionNewTX(e1.Data), false);
                }
            };
            ws.OnError += (sender2, e2) =>
            {
                try
                {
                    if (ws.ReadyState == WebSocketState.Open)
                    {
                        ws.Close();
                    }
                    connectWSTX();
                }
                catch (Exception)
                {
                }
            };
            ws.Connect();
        }
Пример #10
0
        private void Reconnect()
        {
            log.Debug("Trying to reconnect websocket.");

            if (isConnecting)
            {
                return;
            }

            Stop();
            //close current connection

            log.Debug("Trying to close old connection.");
            Close();

            isConnecting = true;

            log.Debug("Start getting request to obtain ws address.");
            var request = HttpWebClientHelper.CreateRequest(sdkMetadata, string.Format(FluxApiData.WebSocketUrl, ProjectId, reason), UserCookies);

            request.Method = "GET";
            request.Headers.Add("projectId", ProjectId);

            try
            {
                var response = HttpWebClientHelper.GetResponse(request);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    var wsUrl = DataSerializer.Deserialize <WebSocketAddress>(StreamUtils.GetDecompressedResponseStream(response));
                    log.Debug("Connecting to Flux wss: {0}", wsUrl.Address);
                    webSocket          = new WebSocketSharp.WebSocket(wsUrl.Address);
                    webSocket.WaitTime = TimeSpan.FromHours(12);
                    foreach (var cookie in UserCookies)
                    {
                        WebSocketSharp.Net.Cookie wsCookie = new WebSocketSharp.Net.Cookie(cookie.CookieName, cookie.CookieValue, cookie.CookieDomain);
                        webSocket.SetCookie(wsCookie);
                    }

                    webSocket.OnMessage += WebSocket_OnMessage;
                    webSocket.OnClose   += WebSocket_Closed;
                    webSocket.OnOpen    += WebSocket_Opened;
                    webSocket.OnError   += WebSocket_OnError;
                    webSocket.ConnectAsync();

                    //start timer
                    RestartConnectionTimer();
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                webSocketState = FluxWebSocketStates.Reconnecting;

                if (ex is WebException || ex is Exceptions.ConnectionFailureException || ex is Exceptions.ServerUnavailableException)
                {
                    var webException = ex as WebException;
                    if (webException != null)
                    {
                        var webResponse = (HttpWebResponse)webException.Response;
                        if (webResponse != null)
                        {
                            Close();
                            return;
                        }
                    }

                    log.Error("Error initializing WebSocket.");
                    isConnecting = false;

                    if (reconnectDelay * 2 < MAX_DELAY)
                    {
                        reconnectDelay *= 2;
                    }
                    else
                    {
                        reconnectDelay = MAX_DELAY;
                    }

                    RetryReconnect();
                }
                else
                {
                    log.Error("Unsupported exception was caught. Websocket will be closed.");
                    Close();
                }
            }
        }
Пример #11
0
 public void AppendCookie(WebSocketSharp.Net.Cookie cookie)
 {
     this.Cookies.Add(cookie);
 }
Пример #12
0
 public void SetCookie()
 {
     WebSocketSharp.Net.Cookie coolie = new WebSocketSharp.Net.Cookie();
     ws.SetCookie(coolie);
 }