| | |
| | | using System.Drawing.Printing; |
| | | using System.IO; |
| | | using System.Management; |
| | | using System.Net.NetworkInformation; |
| | | |
| | | namespace WarM |
| | | { |
| | |
| | | { |
| | | try |
| | | { |
| | | if (socket != null && socket.Connected) |
| | | { |
| | | MessageBox.Show("已建ç«è¿æ¥ï¼ä¸å¯éå¤å»ºç«è¿æ¥ï¼"); |
| | | return; |
| | | } |
| | | |
| | | if (grdMain.Rows.Count == 0 || grdMain.Rows[0].Cells[HMaterIDCol].Value == null || grdMain.Rows[0].Cells[HMaterIDCol].Value.ToString() == "" || grdMain.Rows[0].Cells[HMaterIDCol].Value.ToString() == "0") |
| | | { |
| | | MessageBox.Show("è¯·éæ©æºåï¼"); |
| | |
| | | Thread thread = new Thread(ReceiveMess); |
| | | thread.Start(); |
| | | MessageBox.Show("è¿æ¥æåï¼"); |
| | | |
| | | timer3.Enabled = true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MessageBox.Show("æ¥å£å¼å¸¸ï¼å·²å
³éè¿æ¥ï¼" + ex.Message); |
| | | socket.Close(); |
| | | //MessageBox.Show("æ¥å£å¼å¸¸ï¼å·²å
³éè¿æ¥ï¼" + ex.Message); |
| | | //socket.Close(); |
| | | } |
| | | } |
| | | |
| | |
| | | if (socket.Connected) |
| | | { |
| | | socket.Close(); |
| | | MessageBox.Show("è¿æ¥å
³éæåï¼"); |
| | | } |
| | | else |
| | | { |
| | |
| | | catch (Exception ex) |
| | | { |
| | | MessageBox.Show(ex.Message); |
| | | } |
| | | finally |
| | | { |
| | | timer3.Enabled = false; |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | #region æçº¿éè¿ |
| | | private int maxRepeatConnectTimes = 5; |
| | | private int currentRepeatConnectTimes = 0; |
| | | |
| | | #region 宿¶å¨æ£æµè¿æ¥ç¶æãæçº¿éè¿ |
| | | private void timer3_Tick(object sender, EventArgs e) |
| | | { |
| | | if (currentRepeatConnectTimes < maxRepeatConnectTimes) |
| | | { |
| | | //夿客æ·ç«¯æ¯å¦å¯ä»¥è®¿é®æå¡å¨ï¼è¥ä¸å¯ä»¥è®¿é®ï¼å
³ésocketè¿æ¥ |
| | | if (!getTargetInternetStatus()) |
| | | { |
| | | if (socket != null && socket.Connected) |
| | | { |
| | | socket.Close(); |
| | | } |
| | | |
| | | currentRepeatConnectTimes += 1; |
| | | } |
| | | else if (getTargetInternetStatus() && !socket.Connected) |
| | | { |
| | | //è¥å®¢æ·ç«¯å¯ä»¥è®¿é®æå¡å¨ï¼socketéæ°è¿æ¥æå¡å¨ |
| | | try |
| | | { |
| | | socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); |
| | | IPAddress iPAddress = IPAddress.Parse(textBox_IPParams.Text); |
| | | IPEndPoint point = new IPEndPoint(iPAddress, Convert.ToInt32(textBox_PortParams.Text)); |
| | | socket.Connect(point); |
| | | |
| | | Thread thread = new Thread(ReceiveMess); |
| | | thread.Start(); |
| | | |
| | | currentRepeatConnectTimes = 0; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | currentRepeatConnectTimes += 1; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | timer3.Enabled = false; |
| | | currentRepeatConnectTimes = 0; |
| | | MessageBox.Show("è¿æ¥å·²æå¼ï¼è¯·éæ°è¿æ¥ï¼!"); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region è·åç®æ 设å¤ç½ç»è¿æ¥ç¶æ |
| | | private bool getTargetInternetStatus() |
| | | { |
| | | try |
| | | { |
| | | string targetIp = textBox_IPParams.Text; // æ¿æ¢ä¸ºç®æ çµèçIPå°å |
| | | Ping pingSender = new Ping(); |
| | | PingOptions options = new PingOptions(); |
| | | // 使ç¨64åèçæ°æ®å
ï¼âä½ å¯ä»¥æ ¹æ®éè¦è°æ´è¿ä¸ªå¼ |
| | | string data = "Hello from Ping!"; |
| | | byte[] buffer = Encoding.ASCII.GetBytes(data); |
| | | int timeout = 1200; // è¶
æ¶æ¶é´ï¼âåä½ä¸ºæ¯«ç§ |
| | | PingReply reply = pingSender.Send(targetIp, timeout, buffer, options); |
| | | |
| | | if (reply.Status == IPStatus.Success) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | } |