private void Connectbutton_Click(object sender, EventArgs e) { //asyncClientlist = new List<AsyncTcpClient>(); //for (int i = 0; i < int.Parse(ConnectNum.Text); i++) //{ // asyncClientlist.Add(new AsyncTcpClient(DestinationIP.Text, int.Parse(DestinationPort.Text))); //} //foreach (AsyncTcpClient atc in asyncClientlist) //{ // atc.Connect(); //} asyncPerformerlist = new List <AsyncPerformer>(); for (int i = 0; i < int.Parse(ConnectNum.Text); i++) { AsyncPerformer apf = new AsyncPerformer(); apf.Timeout = 5 * uint.Parse(COMinterval.Text); apf.Interval = int.Parse(COMinterval.Text); apf.OnStart += TCPOnStart; apf.OnStop += TCPOnStop; apf.OnAsyncWork += TCPOnAsyncWork; apf.usePort = int.Parse(listenPort.Text) + i;//缓兵之计,监听端口的关闭问题 if (readORwrite.SelectedIndex == 1) { apf.readFlag = true; } if (readORwrite.SelectedIndex == 2) { apf.writeFlag = true; } apf.Start(); asyncPerformerlist.Add(apf); } debug_text.Clear(); testnum = 0; successnum = 0; timer1.Start(); Connectbutton.Enabled = false; Disconnectbutton.Enabled = true; }