using ConnectionUtil;
|
using HMI.Core.Api;
|
using HMI.Core.Util;
|
using Plugin.TestResult_WPF;
|
using System;
|
using System.Windows;
|
|
namespace UnitTest
|
{
|
/// <summary>
|
/// MainWindow.xaml 的交互逻辑
|
/// </summary>
|
public partial class MainWindow : Window
|
{
|
public MainWindow()
|
{
|
LangUtil.Load();
|
InitializeComponent();
|
//page.Children.Add(new UserControl1());
|
}
|
|
TcpClientWrapper tcpClient;
|
|
PipeClient2 client;
|
|
private void Button_Click(object sender, RoutedEventArgs e)
|
{
|
//client = new PipeClient2("DAService");
|
////client.OnData += Client_OnData1;
|
//client.Connect();
|
|
//tcpClient = new TcpClientWrapper("127.0.0.1", 5555);
|
//tcpClient.Connect();
|
|
viewControl.View.GetDataTable(0).GetSingleCell(0).SetStatus("testing");
|
|
//new Thread(new ThreadStart(PipeServerMessage)).Start();
|
//new Thread(new ThreadStart(PipeClientMessage)).Start();
|
}
|
|
private void Client_OnData1(object sender, PipeDataEventArgs e)
|
{
|
Console.WriteLine($"{e.Data}");
|
}
|
|
private void Client_OnData(object sender, PipeDataEventArgs e)
|
{
|
Dispatcher.Invoke(() =>
|
{
|
console.Text += e.Data;
|
});
|
}
|
|
private void Button_Click2(object sender, RoutedEventArgs e)
|
{
|
var allStart = DateTime.Now;
|
for (int i = 0; i < 100; i++)
|
{
|
var start = DateTime.Now;
|
if (client.SendMessage("ping", out string res))
|
{
|
var interval = (DateTime.Now - start).TotalMilliseconds;
|
Console.WriteLine($"{interval}: {res}");
|
}
|
}
|
Console.WriteLine($"Total: {(DateTime.Now - allStart).TotalMilliseconds}");
|
}
|
|
private void Button_Click3(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
var allStart = DateTime.Now;
|
for (int i = 0; i < 500; i++)
|
{
|
var start = DateTime.Now;
|
string data = input.Text;
|
string str = $"{{\"command\":5,\"value\":{data},\"id\":\"DITag0\"}}\r\n";
|
string res = tcpClient.SendMessage(str);
|
var interval = (DateTime.Now - start).TotalMilliseconds;
|
Console.WriteLine($"{interval}: {res}");
|
}
|
Console.WriteLine($"Total: {(DateTime.Now - allStart).TotalMilliseconds}");
|
}
|
catch (Exception ex)
|
{
|
|
}
|
}
|
|
private void Button_Click4(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
var allStart = DateTime.Now;
|
for (int i = 0; i < 500; i++)
|
{
|
var start = DateTime.Now;
|
string data = input.Text;
|
string str = $"{{\"command\":5,\"value\":{data},\"id\":\"DITag0\"}}";
|
client.SendMessage(str, out string res);
|
var interval = (DateTime.Now - start).TotalMilliseconds;
|
Console.WriteLine($"{interval}: {res}");
|
}
|
Console.WriteLine($"Total: {(DateTime.Now - allStart).TotalMilliseconds}");
|
|
}
|
catch (Exception ex)
|
{
|
Console.WriteLine(ex.StackTrace);
|
}
|
}
|
|
private void HandlePlugin(object obj)
|
{
|
if (obj is IPlugin plugin)
|
{
|
plugin.SetBaseFolder(PathHelper.AppFolder);
|
plugin.InitFinish();
|
}
|
|
}
|
|
private ViewControl viewControl;
|
|
private void Window_Loaded(object sender, RoutedEventArgs e)
|
{
|
viewControl = new ViewControl();
|
HandlePlugin(viewControl);
|
border.Child = viewControl;
|
this.Loaded -= Window_Loaded;
|
}
|
}
|
}
|