|
|
|
|
using Autofac;
|
|
|
|
|
using Autofac.Core;
|
|
|
|
|
using DotNetty.Handlers.Logging;
|
|
|
|
|
using HybirdFrameworkCore.Autofac;
|
|
|
|
|
using HybirdFrameworkCore.Utils;
|
|
|
|
|
using log4net;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using Service.TBox;
|
|
|
|
|
using Service.TBox.Codec;
|
|
|
|
|
using Service.TBox.Server;
|
|
|
|
|
|
|
|
|
|
namespace WinFormStarter;
|
|
|
|
|
|
|
|
|
|
public partial class Form2 : Form
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(Form2));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private TBoxServer? server = null;
|
|
|
|
|
public Form2()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
this.txtPort.Text = "9000";
|
|
|
|
|
Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
if (Decoder.Msgs.TryDequeue(out var msg))
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
AppendText(rTxtParsed, JsonConvert.SerializeObject(msg) + "\r\n");
|
|
|
|
|
}
|
|
|
|
|
if (Decoder.BytesQueue.TryDequeue(out var bytes))
|
|
|
|
|
{
|
|
|
|
|
AppendText(rTxtOriginal, BitUtls.BytesToHexStr(bytes) + "\r\n");
|
|
|
|
|
}
|
|
|
|
|
Thread.Sleep(50);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AppendText(RichTextBox r, string msg)
|
|
|
|
|
{
|
|
|
|
|
if (r.InvokeRequired)
|
|
|
|
|
{
|
|
|
|
|
r.Invoke(() =>
|
|
|
|
|
{
|
|
|
|
|
r.AppendText(msg);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
r.AppendText(msg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnConn_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
string portTxt = txtPort.Text;
|
|
|
|
|
if (!int.TryParse(portTxt, out var port))
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("请输入端口号");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (server == null)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
foreach (var reg in AppInfo.Container.ComponentRegistry.Registrations)
|
|
|
|
|
foreach (var service in reg.Services)
|
|
|
|
|
if (service is TypedService ts)
|
|
|
|
|
Log.Info(ts.ServiceType);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
server = AppInfo.Container.Resolve<TBoxServer>();
|
|
|
|
|
server.LogLevel = LogLevel.TRACE;
|
|
|
|
|
server.Start(port);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MessageBox.Show($"启动成功, 监听{port}");
|
|
|
|
|
}
|
|
|
|
|
}
|