public delegate void ShowData(string msg);//委托,防止跨线程访问控件,引起安全异常
public delegate void EnableButtonDelegate(Control control,bool enable);
private const int bufferSize = 8000;//缓存空间
private void EnableButton(Control control,bool enable)
{
if (control.InvokeRequired)
{
//使用委托
control.Invoke(new EnableButtonDelegate((ct, eb) => { ct.Enabled = eb; }),new object[]{control,enable});
}
else
{
control.Enabled = enable;
}
}
private TcpClient client;
private TcpListener server;
/// <summary>
/// 结构体 IP 和端口
/// </summary>
struct IpAndPort
{
public string ip;