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); }
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(); }
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(); }
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); }