Esempio n. 1
0
        public void SetUp()
        {
            if (!bootstrap.Initialize())
            {
                Console.WriteLine("Failed to initialize!");
            }

            var result = bootstrap.Start();

            Console.WriteLine("Start result: {0}!", result);

            if (result == StartResult.Success)
            {
                client          = new PirateXClient("ps://localhost:3002");
                client.OnError += (sender, args) =>
                {
                    throw new Exception(args.ToString());
                };
                client.OnOpen += (sender, args) =>
                {
                    Console.WriteLine("Connect!");

                    Assert.IsTrue(true);
                };


                client.Open();
            }


            Thread.Sleep(3000);
        }
Esempio n. 2
0
        public static void Main(string[] args)
        {
            var client = new PirateXClient("ps://localhost:4012");

            Console.WriteLine("Press any key to start!");
            Console.Read();

            client.Open();


            Console.WriteLine("OK");
            Console.Read();
            Console.Read();
        }
Esempio n. 3
0
        private void OnClosed(object sender, EventArgs e)
        {
            this.Invoke((EventHandler) delegate
            {
                txtHost.Enabled    = true;
                txtPort.Enabled    = true;
                btnConn.Enabled    = true;
                txtToken.Enabled   = true;
                txtHeader.Enabled  = true;
                btnSend.Enabled    = false;
                btnDisconn.Enabled = false;
            });

            _client = null;
        }
Esempio n. 4
0
 public override void Excute(PirateXClient pSocket, PingResponse data)
 {
 }
Esempio n. 5
0
 public override void Excute(PirateXClient pSocket, NewSeedResponse data)
 {
     pSocket.PackageProcessor.UnPackKeys = new KeyGenerator(data.Seed).MakeKey();
     pSocket.PackageProcessor.CryptoByte = new BitArray(CryptoByte).ConvertToByte();
 }
Esempio n. 6
0
        private void btnConn_Click(object sender, EventArgs e)
        {
            if (_client != null)
            {
                _client.Close();
                _client = null;
            }

            //var headerQuery = new Name

            var tokenbase64 = string.Empty;

            try
            {
                Convert.FromBase64String(txtToken.Text.Trim());
                tokenbase64 = txtToken.Text.Trim();
            }
            catch (Exception exception)
            {
                var tokenQuery = HttpUtility.ParseQueryString(txtToken.Text.Trim());
                var token      = new Token()
                {
                    Did = Convert.ToInt32(tokenQuery["did"]),
                    Rid = Convert.ToInt32(tokenQuery["rid"]),
                    Uid = tokenQuery["uid"]
                };

                var pbCovnert = new ProtoResponseConvert();
                tokenbase64 = Convert.ToBase64String(pbCovnert.SerializeObject(token));
            }



            _client         = new PirateXClient($"ps://{txtHost.Text.Trim()}:{txtPort.Text.Trim()}", tokenbase64);
            _client.Headers = HttpUtility.ParseQueryString(txtHeader.Text.Trim());
            if (!string.IsNullOrEmpty(comboBox1.Text))
            {
                _client.DefaultFormat = comboBox1.Text;
            }
            //_client.ExHeaders

            //_client.ExHeaders.Add("deviceid",HttpUtility.UrlEncode(Guid.NewGuid().ToString()));
            //_client.ExHeaders.Add("phone","windows");
            //_client.ExHeaders.Add("os","1.0");
            //_client.ExHeaders.Add("net","wlan");
            _client.OnOpen           += OnOpen;
            _client.OnError          += OnError;
            _client.OnClosed         += OnClosed;
            _client.OnReceiveMessage += (o, args) =>
            {
                this.Invoke((EventHandler) delegate
                {
                    var tin  = Convert.ToInt64(args.Package.Headers["_tin_"]);
                    var tout = Convert.ToInt64(args.Package.Headers["_tout_"]);

                    if (Equals(args.Package.Headers["c"], "_CommandList_"))
                    {
                        var list = Encoding.UTF8.GetString(args.Package.ContentBytes).Split(new char[] { ',' });
                        cbbCMDList.Items.Clear();
                        foreach (var item in list.OrderBy(s => s))
                        {
                            cbbCMDList.Items.Add(item);
                        }

                        cbbCMDList.Text = list[0];
                    }
                    else if (Equals(args.Package.Headers["c"], "_CommandArgs_"))
                    {
                        if (args.Package.ContentBytes.Length > 0)
                        {
                            txtQuery.Text = Encoding.UTF8.GetString(args.Package.ContentBytes).Replace(",", "={xxxxx}&") + "={xxxxx}";
                        }
                    }

                    this.jsonViewer1.ResponseInfo = args.Package;
                    btnSend.Enabled    = true;
                    btnDisconn.Enabled = true;
                });
            };

            _client.OnNotified += (o, args) =>
            {
                this.Invoke((EventHandler) delegate
                {
                    this.jsonViewer1.ResponseInfo = args.Package;
                    btnSend.Enabled    = true;
                    btnDisconn.Enabled = true;
                });
            };


            _client.OnResponseProcessed += (o, log) =>
            {
                this.Invoke((EventHandler) delegate
                {
                    this.lable_duration.Text = $"{log.Ts} ms";
                });
            };

            _client.OnSend += (o, args) =>
            {
                this.Invoke((EventHandler) delegate
                {
                    this.jsonViewer1.NewOut(args.Package.ToRequestPackage());
                });
            };
            _client.Open();
        }
Esempio n. 7
0
        private static void StartTest(object i)
        {
            int index = (int)i;

            Console.WriteLine("loss test thread started " + index);
//            string host = "192.168.1.232";
            int port     = 4012;
            int userId   = 30110 + index;
            int serverId = 2;

            var tokenQuery = HttpUtility.ParseQueryString($"rid={userId}&did={serverId}");
            var token      = new Token()
            {
                Did = Convert.ToInt32(tokenQuery["did"]),
                Rid = Convert.ToInt32(tokenQuery["rid"]),
                Uid = tokenQuery["uid"]
            };
            //            string token = $"rid={userId}&did={serverId}";
            var exHeaders = HttpUtility.ParseQueryString("c=" + TestCommand);

            exHeaders.Add("format", "json");

            var client = new PirateXClient($"ps://{host}:{port}", HttpUtility.UrlEncode(Convert.ToBase64String(new ProtoResponseConvert().SerializeObject(token))));

            client.DefaultFormat     = "json";
            client.OnReceiveMessage += (o, args) =>
            {
                //                Console.WriteLine("matching received " + index); //Encoding.UTF8.GetString(args.Package.ContentBytes)
                lock (_lock)
                {
                    if (args.Msg == TestCommand)
                    {
                        var tin = Convert.ToInt64(args.Package.Headers["_tin_"]);

                        var tin1 = Convert.ToInt64(args.Package.Headers["_itin_1_"]);

                        var itin = Convert.ToInt64(args.Package.Headers["_itin_"]);

                        var itin1 = Convert.ToInt64(args.Package.Headers["_t1_"]);
                        var itin2 = Convert.ToInt64(args.Package.Headers["_t2_"]);
                        var itin3 = Convert.ToInt64(args.Package.Headers["_t3_"]);
                        var itin4 = Convert.ToInt64(args.Package.Headers["_t4_"]);
                        var itin5 = Convert.ToInt64(args.Package.Headers["_t5_"]);
                        var itin6 = Convert.ToInt64(args.Package.Headers["_t6_"]);
                        Console.WriteLine(itin6 + "   " + index);

                        var itout           = Convert.ToInt64(args.Package.Headers["_itout_"]);
                        var tout            = Convert.ToInt64(args.Package.Headers["_tout_"]);
                        var span_tin_tout   = ((double)(tout - tin)) / TimeSpan.TicksPerMillisecond;
                        var span_tin_itin   = ((double)(itin - tin)) / TimeSpan.TicksPerMillisecond;
                        var span_itin_itout = ((double)(itout - itin)) / TimeSpan.TicksPerMillisecond;
                        var span_itout_tout = ((double)(tout - itout)) / TimeSpan.TicksPerMillisecond;

                        var span_task_start        = ((double)(itin1 - itin)) / TimeSpan.TicksPerMillisecond;
                        var span_OnReceive_process = ((double)(itin5 - itin1)) / TimeSpan.TicksPerMillisecond;
                        var span_send_message      = ((double)(itin6 - itin5)) / TimeSpan.TicksPerMillisecond;

                        var span_tin1 = ((double)(itin - tin1)) / TimeSpan.TicksPerMillisecond;
                        //                        Console.WriteLine($"{index} span:{span_tin_tout} ms");

                        spanCount++;

                        span1Sum += span_tin_tout;
                        span2Sum += span_tin_itin;
                        span3Sum += span_itin_itout;
                        span4Sum += span_itout_tout;

                        spanT1Sum += span_task_start;
                        spanT2Sum += span_OnReceive_process;
                        spanT3Sum += span_send_message;

                        spanT4Sum += span_tin1;
                    }
                    else
                    {
                        //args.Msg = "NewSeed"
                        newSeedCount++;
                    }
                }
            };
            try
            {
                client.Open();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + e.StackTrace);
                return;
            }
            //            Console.WriteLine("connnect success " + index);
            mre.WaitOne();
            //            Console.WriteLine("send match command " + index);
            client.Send("RoleInfo", "pattern=2&name=dst" + index, exHeaders);
            //            Thread.Sleep(1000);
            //            Console.WriteLine("send complete " + index);
        }