private void proxytimeout() { string n = Thread.CurrentThread.Name; try { DataGridTextInvoke UpdateDataTextGrid = new DataGridTextInvoke(UpdateDataTextGridMsg); Thread.Sleep(Convert.ToInt32(proxytimeoutseconds.Text)); if (ConnecetThreads[n] != null && ConnecetThreads[n].IsAlive) { if (ConnecetThreads[n].ThreadState == ThreadState.Running) { ConnecetThreads[n].Abort(); if (TimeoutThreads.ContainsKey(n)) { TimeoutThreads.Remove(n); } if (ConnecetThreads.ContainsKey(n)) { ConnecetThreads.Remove(n); } } //MessageBox.Show("连接超时"); } UpdateDataTextGrid.Invoke("连接超时", int.Parse(n), 2); } catch { } finally { if (TimeoutThreads.ContainsKey(n)) { TimeoutThreads.Remove(n); } if (ConnecetThreads.ContainsKey(n)) { ConnecetThreads.Remove(n); } } //TimeoutThreads.Remove(n); //if (ConnecetThread != null && ConnecetThread.IsAlive) //{ // ConnecetThread.Abort(); // MessageBox.Show(proxytxt.Text + " 连接超时"); //} }
private void proxynetconnect() { string n = Thread.CurrentThread.Name; try { DataGridTextInvoke UpdateDataTextGrid = new DataGridTextInvoke(UpdateDataTextGridMsg); net test = new net(); bool t; TimeSpan tsbegin = new TimeSpan(DateTime.Now.Ticks); if (test.Connect(iplist[Thread.CurrentThread.Name])) { t = true; } else { t = false; } TimeSpan tsend = new TimeSpan(DateTime.Now.Ticks); //UpdateDataTextGrid.Invoke(TimeoutThreads[n].ThreadState.ToString(), int.Parse(n)); if (TimeoutThreads[n] != null && TimeoutThreads[n].IsAlive) { if (TimeoutThreads[n].ThreadState == ThreadState.Running) { TimeoutThreads[n].Abort(); if (TimeoutThreads.ContainsKey(n)) { TimeoutThreads.Remove(n); } if (ConnecetThreads.ContainsKey(n)) { ConnecetThreads.Remove(n); } } } if (t) { int ms = Convert.ToInt32(tsend.TotalMilliseconds - tsbegin.TotalMilliseconds); string msg; if (ms == 0) { msg = "< 1"; } else { msg = ms.ToString(); } UpdateDataTextGrid.Invoke(msg, Convert.ToInt32(n), 2); //UpdateDataTextGrid.Invoke((tsend.TotalMilliseconds - tsbegin.TotalMilliseconds).ToString(), int.Parse(n), 2); //UpdateDataTextGrid.Invoke("连接成功", int.Parse(n), 2); //MessageBox.Show("连接成功"); } else { UpdateDataTextGrid.Invoke("连接失败", int.Parse(n), 2); //MessageBox.Show("连接失败"); } } catch { } finally { if (TimeoutThreads.ContainsKey(n)) { TimeoutThreads.Remove(n); } if (ConnecetThreads.ContainsKey(n)) { ConnecetThreads.Remove(n); } } //MessageBox.Show(test.Connect(proxytxt.Text, "80").ToString()); }