public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
WH_Client? web = null;
private void button1_Click(object sender, EventArgs e)
{
if (web == null)
{
web = new WH_Client() { IsAutoGetData = true, AutoReConnString = "closed" };
web.SetHear(int.Parse(cmbHear.Text));
web.SetProxy(cmbProxy.Text);
web.SetHeaders(txtHeader.Text);
web.OnGetData += Web_OnGetData;
web.OnLoginfo += Web_OnLoginfo;
web.OnStateChanged += Web_OnStateChanged;
web.Connection(cmbURL.Text);
laState.BackColor = web?.State ?? false ? Color.Green : Color.Red;
}
}
private void Web_OnStateChanged(WH_Client sender, ClientState e)
{
lstLog.BeginInvoke(() =>
{
lstLog.Items.Insert(0, $"[{DateTime.Now.ToString("HH:mm:ss")}]状态改变:" + e.ToString());
laState.BackColor = web?.State ?? false ? Color.Green : Color.Red;
});
}
private void Web_OnLoginfo(WH_Client sender, string e)
{
lstLog.BeginInvoke(() =>
{
lstLog.Items.Insert(0, $"[{DateTime.Now.ToString("HH:mm:ss")}]消息:" + e);
});
}
private void Web_OnGetData(WH_Client sender, DataInfo e)
{
lstLog.BeginInvoke(() =>
{
lstLog.Items.Insert(0, $"[{DateTime.Now.ToString("HH:mm:ss")}]收到数据:" + e.Count.ToString() + "字节" + e.Text);
});
}
private void button2_Click(object sender, EventArgs e)
{
if (web != null)
{
web.OnGetData -= Web_OnGetData;
web.OnLoginfo -= Web_OnLoginfo;
web.Close();
laState.BackColor = web?.State ?? false ? Color.Green : Color.Red;
if (web != null)
{
web.OnStateChanged -= Web_OnStateChanged;
web.Dispose();
}
web = null;
}
}
private void button3_Click(object sender, EventArgs e)
{
string str = cmbSend.Text + $"[{DateTime.Now}]";
if (web?.State == true)
{
if (web?.SendData(new DataInfo(str)) == true)
{
lstLog.BeginInvoke(() =>
{
lstLog.Items.Insert(0, $"[{DateTime.Now.ToString("HH:mm:ss")}]发数据:[" + str + "]成功!");
});
}
}
}
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
button3_Click(sender, e);
timer1.Enabled = true;
}
private void button4_Click(object sender, EventArgs e)
{
timer1.Enabled = !timer1.Enabled;
if (!timer1.Enabled)
timer1.Interval = int.Parse(txtIntval.Text);
button4.Text = !timer1.Enabled ? "连接发送" : "停止发送";
}
private void Form1_Load(object sender, EventArgs e)
{
}
}